电信专业《数字信号处理课程设计》任务书
电信专业《数字信号处理课程设计》任务书
(一)
clc;clear;
Y_vect=[1 -0.5 0.25]; %num
X_vect=[1 2 0 1]; %den
figure(1)
zplane(Y_vect, X_vect); %zplane()函数画出零点极点图
figure(2)
impz(Y_vect, X_vect); %impz()函数得出系统的脉冲响应
legend('h(n)')
n=0:100;
Input=5+3*cos(0.2*pi*n)+4*sin(0.6*pi*n); %输入
Output=filter(Y_vect, X_vect,Input); %输出
figure(3) %x(n)
subplot(2,1,1);
stem(Input,'filled');
legend('x(n)')
subplot(2,1,2);
stem(Output,'filled');
legend('y(n)')
(二)
(1)
clear all;clc;
n=(0:1:9);
y=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=(0:1:9);x=y(1:1:10);
subplot(3,1,1);
stem(n1,x); %画出x(n)曲线
title('x(n)(o<=n<=9)');
xlabel('n');ylabel('x(n)');
axis([0,10,-2.5,2.5]);
w=[0:500]*2*pi/500;
xw=x*exp(-j*n'*w);
magx=abs(xw); %对xw取绝对值
subplot(3,1,2);
plot(w,magx); %画出x(jw)曲线
title('DTFT');
xlabel('w');ylabel('x(jw)');
axis([0,2*pi,0,10]);
subplot(3,1,3);
x1=fft(x); %对x进行傅里叶变换
magx1=abs(x1); %对x1取绝对值
stem(n1,abs(magx1)); %画出x(k)曲线
title('DFT');
xlabel('k');ylabel('x(k)');
axis([0,10,0,10]);
(2)
clear all;clc;
n=(0:1:9);
y=cos(0.48*pi*n)+cos(0.52*pi*n);n1=(0:1:99);
x=[y(1:1:10),zeros(1,90)]; %第10位到100位的数据都为0
subplot(3,1,1);
stem(n1,x); %画出x(n)曲线
title('x(n)(O<=n<=9+90zeros)');
xlabel('n');ylabel('x(n)');
axis([0,100,-2.5,2.5]);
w=linspace(0,2*pi,length(x)); %0-2*pi区域分为100点
xw=x*exp(-j*[1:length(x)]'*w);
magx=abs(xw); %对xw取绝对值
subplot(3,1,2);
plot(w, magx); %画出x(jw)曲线
title('DTFT');
xlabel('w');ylabel('x(jw)');
axis([0,2*pi, 0,10]);
subplot(3,1,3);
x1=fft(x); %进行傅里叶变换
magx1=abs(x1); %对x1取绝对值
stem(n1,abs(magx1)); %画出x(k)曲线
title('DFT');
xlabel('k');ylabel('x(k)');
axis([0,100,0,10]);
(3)
clear all;clc;
n=(0:1:99);
y=cos(0.48*pi*n)+cos(0.52*pi*n);n1=(0:1:99);x=y(1:1:100);
subplot(3,1,1);
stem(n1,x); %画出x(n)曲线
title('x(n)(O<=n<=99)');
xlabel('n');ylabel('x(n)');
axis([0,100,-2.5,2.5]);
w=linspace(0,2+pi,length(x)); %0-2*pi区域分为100点
xw=x*exp(-j*[1:length(x)]'*w);
magx=abs(xw); %对xw取绝对值
subplot(3,1,2);
plot(w,magx); %画出x(jw)曲线
title('DTFT');
xlabel('w');ylabel('x(jw)');
axis([0,2*pi,0,54]);
subplot(3,1,3);
x1=fft(x); %进行傅里叶变换
magx1=abs(x1); %对x1取绝对值
stem(n1,abs(magx1)); %画出x(k)曲线
title('DFT');
xlabel('k');ylabel('x(k)');
axis([0,100,0,54]);
(4)
clear all;clc;
n=(0:1:127);
y=cos(0.48*pi*n)+cos(0.52*pi*n);n1=(0:1:127);x=y(1:1:128) ;
subplot(3,1,1);
stem(n1,x); %画出x(n)曲线
title('x(n)(O<=n<=127)');
xlabel('n');ylabel('x(n)') ;
axis([0,128,-2.5,2.5]);
w=linspace(0,2*pi,length(x)); %0-2*pi区域分为128点
xw=x*exp(-j*[1:length(x)]'*w);
magx=abs(xw); %对xw取绝对值
subplot(3,1,2);
plot(w,magx); %画出x(jw)曲线
title( 'DTFT');
xlabel('w');ylabel('x(jw)');
axis([0,2*pi,0,65]);
subplot(3,1,3);
x1=fft(x); %进行傅里叶变换
magx1=abs(x1); %对x1取绝对值
stem(n1,abs(magx1)); %画出x(k)曲线
title('DFT');
xlabel('k');ylabel('x(k)');
axis([0,128,0,65]);
(5)
clear all;clc;
n=(0:1:49);
y=cos(0.48*pi*n)+cos(0.52*pi*n);n1=(0:1:49);x=y(1:1:50);
subplot(3,1,1);stem(n1,x); %画出x(n)曲线
title('x(n)(O<=n<=49)');
xlabel('n');ylabel('x(n)');
axis([0,50,-2.5,2.5]);
w=linspace(0,2+pi,length(x)); %0-2*pi区域分为50点
xw=x*exp(-j*[1:length(x)]'*w);
magx=abs(xw); %对xw取绝对值
subplot(3,1,2);plot(w,magx); %画出x(jw)曲线
title('DTFT');
xlabel('w');ylabel('x(jw)');
axis([0,2*pi,0,30]);
subplot(3,1,3);
x1=fft(x); %进行傅里叶变换
magx1=abs(x1); %对x1取绝对值
stem(n1,abs(magx1)); %画出x(k)曲线
title('DFT');
xlabel('k');ylabel('x(k)');
axis([0,50,0,30]);
(三)
(1)导入
[x1,fs]=audioread('D:\PPT\数字信号处理\课设\语音.m4a');
sound(x1,fs); %声音回放
y1=fft(x1,32768); %对信号取1024个点的fft变换
figure(1)
subplot(2,1,1)
plot(x1)
title('原始音频时域图')
subplot(2,1,2)
plot(abs(y1)) %幅度
title('原始音频频谱图')
(2)噪声
[x1,fs]=audioread('D:\PPT\数字信号处理\课设\语音.m4a');
y1=fft(x1,32768);
x2=awgn(x1,10); %将高斯白噪声(信噪比为10dB)添加到信号中
%sound(x2,fs)
y2=fft(x2,32768); %对加噪声后的信号取1024个点的fft变换
f=0:fs/32768:fs/32768*32767;
figure(2)
subplot(3,2,1)
plot(x2)
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加高斯白噪声的音频时域图')
subplot(3,2,2)
plot(f,abs(y1)); %幅值
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加高斯白噪声的音频频谱图')
N=length(x1)-1;
t=0:1/fs:N/fs;
d=[0.09*sin(2*pi*5000*t)]'; %将单频噪声添加到信号中
x3=x1+d;
%sound(x3,fs);
f=0:fs/32768:fs/32768*32767;
subplot(3,2,3)
plot(x3)
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加单频噪声的音频时域图')
y3=fft(x3,32768); %对加噪声后的信号取1024个点的fft变换
subplot(3,2,4)
plot(f,abs(y3)); %幅值
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加单频噪声的音频频谱图')
N=length(x1)-1;t=0:1/fs:N/fs;
a=[0.09*sin(2*pi*2000*t)]';
b=[0.09*sin(2*pi*3000*t)]';
c=[0.09*sin(2*pi*3500*t)]';
x4=x1+a+b+c; %将多频噪声添加到信号中
%sound(x4,fs)
y4=fft(x4,32768); %对加噪音后的信号取1024个点的fft变换
subplot(3,2,5);
plot(x4)
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加多频噪声的音频时域图')
ylabel('幅值');
subplot(3,2,6);
plot(f,abs(y4)); %幅值
xlabel('频率(Hz)');
ylabel('幅度(dB)');
title('加多频噪声的音频频谱图')
(3)低通
fp=1000;Fs=1800;As=40;Ap=0.25;
%As=40;Ap=0.25;Fs=20000
wp=2*pi*fp/fs;ws=2*pi*Fs/fs;
%wp=2*pi*[1500,3500]/Fs;ws=2*pi*[1800,3800]/Fs;
Bt=ws-wp; %计算过渡带宽度
alph=0.5842*(As-21)^0.4+0.07886*(As-21); %根据公式计算Kaiser窗的控制参数
%alph=0.112*(As-8.7);
%alph=O;
M=ceil((As-8)/2.285/Bt); %根据公式计算Kaiser窗所需阶数M
wc=(wp+ws)/2/pi; %计算理想带通滤波器通带截至频率
hn=fir1(M,wc,kaiser(M+1,alph)); %调用firl计算高通FIRDF的h(n)
hk=fft(hn);
hk=freqz(hn,1,Fs); %滤波器频率响应
xn3=fftfilt(hn,x4); %重叠相加滤波器实现
sound(xn3,fs); %声音回放
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('多正弦干扰滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3)); %幅值
title('多正弦干扰滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn); %以空心的方式画出茎秆
title('凯塞窗h(n)波形');
subplot(2,1,2);
plot(abs(hk)); %幅值
title('凯塞窗h(n)信号频谱');
(4)带通
fp=1400;Fs=1800;As=40;Ap=0.25;
%As=40;Ap=0.25;Fs=20000
wp=2*pi*fp/fs;ws=2*pi*Fs/fs;
%wp=2*pi*[1500,3500]/Fs;ws=2*pi*[1800,3800]/Fs;
Bt=ws-wp; %计算过渡带宽度
alph=0.5842*(As-21)^0.4+0.07886*(As-21); %根据公式计算Kaiser窗的控制参数
%alph=0.112*(As-8.7);
%alph=0;
M=ceil((As-8)/2.285/Bt); %根据公式计算Kaiser窗所需阶数M
wc=(wp+ws)/2/pi; %计算理想带通滤波器通带截至频率
ww=[wp,ws];
hn=firl(M,ww,kaiser(M+1,alph)); %调用firl计算高通FIRDF的h(n)
hk=fft(hn);
hk=freqz(hn,1,Fs); %滤波器频率响应
xn3=fftfilt(hn,x4); %重叠相加滤波器实现
sound(xn3,fs); %声音回放
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('多正弦干扰滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3)); %幅值
title('多正弦干扰滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn); %以空心的方式画出茎秆
title('凯塞窗h(n)波形');
subplot(2,1,2);
plot(abs(hk)); %幅值
title('凯塞窗h(n)信号频谱');
(5)高通
fp=2800;Fs=3500;As=40;Ap=0.25;
%As=40;Ap=0.25;Fs=20000
wp=2*pi*fp/fs ;ws=2*pi*Fs/fs;
%wp=2*pi*[1500,3500]/Fs ;ws=2*pi*[1800,3800]/Fs;
Bt=ws-wp; %计算过渡带宽度
alph=0.5842*(As-21)^0.4+0.07886*(As-21); %根据公式计算Kaiser窗的控制参数
%alph=0.112*(As-8.7);
%alph=0;
M=ceil((As-8)/2.285/Bt); %根据公式计算Kaiser窗所需阶数M
ww=[wp,ws];
hn=fir1(M,ww,kaiser(M+1,alph)); %调用firl计算高通FIRDF的h(n)
hk=fft(hn);
hk=freqz(hn,1,Fs); %滤波器频率响应
xn3=fftfilt(hn,x4); %重叠相加滤波器实现
sound(xn3,fs); %声音回放
yn3=fft(xn3);
figure(3);
subplot(2,1,1);
plot(xn3);
title('多正弦干扰滤波后信号波形');
subplot(2,1,2);
plot(abs(yn3)); %幅值
title('多正弦干扰滤波后信号频谱');
figure(4);
subplot(2,1,1);
stem(hn); %以空心的方式画出茎秆
title('凯塞窗h(n)波形');
subplot(2,1,2);
plot(abs(hk)); %赋值
title('凯塞窗h(n)信号频谱');
电信专业《数字信号处理课程设计》任务书相关推荐
- matlab对图像信号进行频谱分析及滤波,数字信号处理课程设计---应用 Matlab对信号进行频谱分析及滤波...
数字信号处理课程设计---应用 Matlab对信号进行频谱分析及滤波 课课 程程 设设 计 (论文) 报计 (论文) 报 告告 书书 课程名称课程名称 数字信号处理 题题 目目 应用Matlab 对信 ...
- matlab音乐信号处理,数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析...
数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析 1<数字信号处理>课程设计设计题目:基于 MATLAB 的音乐信号处理和分析一.课程设计的目的本课程设计通过对音乐信号的 ...
- matlab x(n)16点DFT,数字信号处理课程设计参考题目
数字信号处理课程设计资料 使用MATLAB(或其他开发工具)编程实现下述内容并写出课程设计报告. 一.课程设计参考题目与设计内容(也可自行选题) 设计一基于DFT的信号频谱分析 主要要求: 1.对离散 ...
- 数字信号处理课程设计——调制与解调
文字目录 数字信号处理课程设计 摘要: 1绪论 1.1通信信号的调制与解调 1.2设计题目 2卷积定理和希尔伯特公式理论推导 2.1卷积定理 2.2希尔伯特公式 3信号DSB调制与希尔伯特解调 3. ...
- Matlab 数字滤波器设计大报告(数字信号处理课程设计)附代码
文章中滤波器设计与信号产生.处理的全部代码,几乎每行都有注释,在这里下载:https://download.csdn.net/download/weixin_42845306/18877388 摘要 ...
- 数字信号处理课程设计:语音信号采集与滤波处理系统设计与实现 (MATLAB)——(一)
语音信号采集与滤波处理系统设计与实现 任务要求 利用MATLAB 设计实现语音信号采集处理软件,通过MIC 实时录制并分析语音信号,包括实时显示信号波形.时域统计特征值.计算信号的频谱等: 采集并录制 ...
- matlab采样序列幅频特性,数字信号处理课设计指导书20130530.doc
数字信号处理课设计指导书20130530 数字信号处理 -课程设计指导 杨亚东 工程技术系 2013.5 数字信号处理课程设计内容.基本要求及评分标准 课程设计内容: 从以下二十一个题目中任选其中一个 ...
- 猜数字小c语言游戏课程任务书,猜数字游戏课程设计.doc
猜数字游戏课程设计.doc 1(c/c程序设计课程设计)设 计 说 明 书猜数字游戏的设计与实现学 生 姓 名学 号班 级成 绩指 导 教 师计算机科学与技术系2010 年 7 月 9 日C/C程序设 ...
- matlab数字图像处理课程设计报告,数字图像处理课程设计实验报告.doc
数字图像处理课程设计实验报告 数字图像处理课程设计 题 目:数字图像处理及Huufman(或小波变换)编码仿真实现 学生姓名: 学 院:信息工程学院 系 别:电子信息工程系 专 业:电子信息工程 班 ...
最新文章
- poj 3565 uva 1411 Ants KM算法求最小权
- java活动安排_贪心法求解活动安排(java实现)
- 图像处理之基础---傅里叶
- HALCON示例程序measure_circles.hdev测量圆的半径
- hibernate学习内容
- python 基础 - 循环语句
- 从高中生活步入大学生活
- 听飞狐聊JavaScript设计模式系列11
- 2020-09-15
- EasyAR4.1平面识别
- 如何成为一名很酷的机器人工程师
- List of Algorithms
- win7休眠设置在哪里_win7系统如何关闭休眠模式--win7w.com
- Transition组件
- 在vue项目中使用html2canvas实现保存网页为图片
- 字符串的Unicode
- iOS 创建代码块 并附上常用的代码块(Swift 代码)
- Java开发必学:java堆栈溢出的原因
- 第二章、质量管理体系综述
- 深入研读“ReDet: A Rotation-equivariant Detector for Aerial Object Detection”学习笔记