数字信号处理课程设计报告1.docx
- 文档编号:10320254
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:33
- 大小:404.16KB
数字信号处理课程设计报告1.docx
《数字信号处理课程设计报告1.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告1.docx(33页珍藏版)》请在冰点文库上搜索。
数字信号处理课程设计报告1
《现代信号处理》课程设计任务实验报告
班级:
通信080*
姓名:
***
学号:
***
指导老师:
***
第一部分:
实验设计目的
第二部分:
实验设计原理
第三部分:
实验设计方案
第四部分:
实验设计过程
第五部分:
个人小结
参考文献
第一部分:
实验设计目的
1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来。
2.提高综合运用所学知识独立分析和解决问题的能力;
3.熟练使用一种高级语言进行编程实现。
第二部分:
实验设计原理
(一).信号分析
1、编制信号生成程序,产生下述各序列,绘出它们的时域波形
1) 三角波序列
2)反三角波序列
3)Gaussian序列
4)衰减正弦序列
对连续信号 进行采样,可得到测试序列令A=50,采样周期T=1ms,即fs=1000Hz,f0=62.5,a=100
5)已调信号,其中调制信号
,载波为
。
6)无限长序列
2.对上述信号完成下列信号分析
1)对三角波序列
和反三角波序列
,作N=8点的FFT,观察比较它们的幅频特性,说明它们有什么异同?
绘出两序列及其它们的幅频特性曲线。
在
和
的尾部补零,作N=16点的FFT,观察它们的幅频特性发生了什么变化?
分析说明原因。
2)、观察高斯序列
,固定信号
中的参数p=8,令q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,令p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?
记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
3)观察衰减正弦序列
的时域和幅频特性,绘出幅频特性曲线,改变采样频率fs,使fs=300Hz,观察此时的频谱的形状和谱峰出现位置?
说明产生现象的原因。
4)观察已调信号
的时域与频域特性,绘出其幅频特性曲线,并对它进行解调,以恢复原调制信号。
5)对序列,截取序列长度M=10点,计算其频谱,画出幅频特性曲线;截取序列长度M=20点,计算其频谱,画出幅频特性曲线;
(二)、数字滤波器的设计与实现
设计和实现IIR或FIR数字滤波器:
要求:
输入数字滤波器的滤波指标,包括通带截止频率,通带最大衰减,阻带截止频率,阻带最小衰减。
设计出相应的数字滤波器。
显示得到的滤波器的系数和阶数,求出系统的单位脉冲响应h(n)。
并画出设计得到的滤波器的幅频特性图(要有坐标标度)和相频特性。
1.对于IIR数字滤波器:
使用双线性变换法。
可选用BW型、CB型和椭圆型等滤波器类型来进行设计
2.对于FIR数字滤波器:
要对多种窗口(三种及以上)、不同阶数设计结果进行分析比较。
(三)、数字滤波
1)根据设计的滤波器,选择2到3个测试信号进行滤波。
展示滤波后信号的幅频与相频特性,分析是否满足滤波要求。
对同一滤波要求,根据输出信号频谱,对比分析各类滤波器的差异。
2)将一段语音作为测试信号,通过频谱展示和语音播放,对比分析滤波前后语音信号的变化,进一步加深对数字信号处理的理解*。
第三部分:
实验设计方案
模拟带通滤波器在信号的检测和传输过程中起着很重要的作用,但在传统模拟带通滤波器的设计过程中需要大量繁琐的数值计算,如果手工计算则费时费力。
也有许多公司开发了相关的滤波器设计软件,但是它们大多数使用起来不容易上手,而且价格比较昂贵。
MATLAB中的图形界面编程环境GUIDE为用户开发软件界面提供了强有力的工具。
在图形界面编程环境GUIDE下,设计好滤波器的设计工具界面后,对界面上各个控件的回调函数进行编写就能设计出交互式滤波器的分析设计软件。
本文在MATLABGUI基础上设计了针对chebyshev型模拟带通滤波器的设计分析软件。
用户在使用时只需输入要设计的滤波器设计指标值,选择要设计的滤波器类型,即可在分析滤波器特性时只需选择相应菜单就能得出对应的特性。
该工具解决了用户在设计Chebyshe型模拟带通滤波器时大量繁琐的数值计算,不仅可以作为研究设计Chebyshev型模拟带通滤波器的辅助工具,还可以作为设计滤波器等相关课程的辅助教学软件。
1模拟带通滤波器的设计理论
目前,模拟高通滤波器、带通滤波器和带阻滤波器的设计方法都是先将要设计的滤波器技术指标通过某种频率转换关系转换成模拟低通滤波器的技术指标,并依据这些技术指标设计出低通滤波器的转移函数,然后再依据频率转换关系变成所要设计的滤波器的转移函数。
工程实际中,设计高通、带通、带阻滤波器的常用方法是借助低通原型滤波器,经频率变换和元件变换得到。
在MATLAB中,图形用户界面(graphicaluserinterface,GUI)是MATLAB中一个专用于GUI程序设计的向导设计器,而GUI是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交互的有效工具和方法。
通过GUIDE可以很方便地设计出各种符合要求的图形用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
GUI设计既能以基本的MATLAB程序设计为主,也能以鼠标为主,利用GUIDE工具进行设计,也可综合以上两种方法进行设计。
GUIDE主要是一个界面设计工具集。
MATLAB将所有GUl支持的用户控件都集成在这个环境中并提供界面外观、属性和行为相应方式的设置方法。
GUIDE将用户保存设计好的图形用户界面保存在一个FIG资源文件中,同时自动生成包含图形用户界面初始化和组件界面布局控制代码的M文件,这个M文件为实现回调函数的编写提供了一个参考框架。
FIG文件是一个二进制文件,包含系列化的图形窗口对象。
所有对象的属性都是用户创建图形窗口时保存的属性。
该文件最主要的功能是对象句柄的保存。
M文件包含GUI设计、控制函数及控件的回调函数,主要用来控制GUI展开时的各种特征。
该文件基本上可以分为GUI初始化和回调函数2个部分,控件的回调函数可根据用户与GUI的具体交互行为分别调用。
第四部分:
实验设计过程
(一).信号分析
1、利用MATLAB编制信号生成程序,产生下述各序列,绘出它们的时域波形,并对各信号进行相关分析:
(1)三角波序列、反三角波序列及其FFT
三角波序列Matlab源程序:
subplot(1,1,1);
n1=0:
3;x1=n1+1;n2=4:
7;x2=8-n2;
stem([n1,n2],[x1,x2],'.');axis([-1,9,0,7]);
反三角波序列Matlab源程序:
subplot(1,1,1);
n1=0:
3;x1=4-n1;n2=4:
7;x2=n2-3;
stem([n1,n2],[x1,x2],'.');axis([-1,9,0,10]);
它们的FFT变换的Matlab源程序:
N1=8,N2=16;
n1=0:
N1-1;x1=[1,2,3,4,4,3,2,1];
subplot(4,2,1);stem(n1,x1,'.');axis([0,10,0,5]);title('x3(n)');
y1=fft(x1,N1);
subplot(4,2,2);stem(n1,abs(y1),'.');axis([0,10,0,8]);title('FFT,N=8');
x2=[4,3,2,1,1,2,3,4];
subplot(4,2,3);stem(n1,x2,'.');axis([0,10,0,5]);title('x4(n)');
y2=fft(x2,N1);
subplot(4,2,4);stem(n1,abs(y2),'.');axis([0,10,0,8]);title('FFT,N=8');
n2=0:
N2-1;x3=[x1,zeros(1,8)];
subplot(4,2,5);stem(n2,x3,'.');axis([0,20,0,5]);title('x3(n)²¹Áã');
y3=fft(x3,N2);
subplot(4,2,6);stem(n2,abs(y3),'.');axis([0,20,0,20]);title('FFT,N=16');
x4=[x2,zeros(1,8)];
subplot(4,2,7);stem(n2,x4,'.');axis([0,20,0,5]);title('x4(n)²¹Áã');
y4=fft(x4,N2);
subplot(4,2,8);stem(n2,abs(y4),'.');axis([0,20,0,20]);title('FFT,N=16')
生成波形为:
(2)Gaussian序列及其FFT
P为定值:
Matlab源程序:
n=0:
15;
x1=exp(-(n-8).^2/2);
subplot(3,2,1);stem(n,x1,'.');axis([0,20,0,1]);title('x5(n),p=8,q=2');
y1=fft(x1,16);
subplot(3,2,2);stem(n,abs(y1),'.');axis([0,20,0,3]);title('FFT,p=8,q=2');
x2=exp(-(n-8).^2/4);
subplot(3,2,3);stem(n,x2,'.');axis([0,20,0,1]);title('x5(n),p=8,q=4');
y2=fft(x2,16);
subplot(3,2,4);stem(n,abs(y2),'.');axis([0,20,0,4]);title('FFT,p=8,q=4');
x3=exp(-(n-8).^2/8);
subplot(3,2,5);stem(n,x3,'.');axis([0,20,0,1]);title('x5(n),p=8,q=8');
y3=fft(x3,16);
subplot(3,2,6);stem(n,abs(y3),'.');axis([0,20,0,6]);title('x5(n),p=8,q=8');
生成波形为:
Q为定值:
n=0:
15;
x1=exp(-(n-8).^2/8);
subplot(4,2,1);stem(n,x1,'.');axis([0,20,0,1]);title('x5(n),p=8,q=8');
y1=fft(x1,16);
subplot(4,2,2);stem(n,abs(y1),'.');axis([0,20,0,6]);title('FFT,p=8,q=8');
x2=exp(-(n-13).^2/8);
subplot(4,2,3);stem(n,x2,'.');axis([0,20,0,1]);title('x5(n),p=13,q=8');
y2=fft(x2,16);
subplot(4,2,4);stem(n,abs(y2),'.');axis([0,20,0,6]);title('FFT,p=13,q=8');
x3=exp(-(n-14).^2/8);
subplot(4,2,5);stem(n,x3,'.');axis([0,20,0,1]);title('x5(n),p=14,q=8');
y3=fft(x3,16);
subplot(4,2,6);stem(n,abs(y3),'.');axis([0,20,0,4]);title('x5(n),p=14,q=8');
x4=exp(-(n-15).^2/8);
subplot(4,2,7);stem(n,x4,'.');axis([0,20,0,1]);title('x5(n),p=15,q=8');
y4=fft(x4,16);
subplot(4,2,8);stem(n,abs(y4),'.');axis([0,20,0,4]);title('FFT,p=15,q=8');
生成波形为:
(3)衰减正弦序列及其不同采样频率时的FFT:
n=0:
50;
x1=50*exp(-0.1.*n).*sin(62.5*pi/500*n);
subplot(2,2,1);stem(n,x1,'.');axis([0,50,-20,40]);title('x7(n),fs=1000Hz');
y1=fft(x1,51);
subplot(2,2,2);stem(n,abs(y1),'.');axis([0,50,0,250]);title('FFT,fs=1000Hz');
x2=50*exp(-1/3.*n).*sin(62.5*pi/150*n);
subplot(2,2,3);stem(n,x2,'.');axis([0,50,-20,40]);title('x7(n),fs=300Hz');
y2=fft(x2,51);
subplot(2,2,4);stem(n,abs(y2),'.');axis([0,50,0,150]);title('FFT,fs=300Hz'
生成波形为:
(4)载波调制解调信号
t=0:
0.01:
3;
x=cos(pi*t).*cos(9*pi*t);
plot(t,x);
axis([03-22]);
grid;
title('x5(t)=cos(pi*t)*cos(9*pi*t)')
t=0:
0.01:
3;
x=cos(pi*t);
plot(t,x);
axis([03-11]);
grid;
title('解调信号')
(5)无限长序列
n=0:
100;
x=0.8.^n;
subplot(1,1,1);stem(n,x,'.');axis([010001]);title('x6(n)=0.8^n')
n=0:
9
x1=0.8.^n;
subplot(2,2,1);stem(n,x1,'.');axis([0,20,0,1]);title('序列x6(n),M=10');
y1=fft(x1,10);
subplot(2,2,2);stem(n,abs(y1),'.');axis([0,20,0,3]);title('M=10,FFT,幅频特性');
m=0:
19
x2=0.8.^m;
subplot(2,2,3);stem(m,x2,'.');axis([0,20,0,1]);title('序列x6(n),M=20');
y2=fft(x2,20);
subplot(2,2,4);stem(m,abs(y2),'.');axis([0,20,0,3]);title('M=20,FFT,幅频特性')
(二)、数字滤波器的设计与实现
采用双线性变换法设计IIR数字滤波器:
源程序:
低通:
globalfp
globalfs
globalap
globalas
globalFs
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,ap,as,'s');
[Z,P,K]=buttap(N);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);
figure
(1)
freqz(bz,az);
[y,t]=impz(bz,az,50);
figure
(2)
stem(t,y,'.');
高通:
globalfp
globalfs
globalap
globalas
globalFs
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,ap,as,'s');
[Z,P,K]=buttap(N);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2hp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);
figure
(1)
freqz(bz,az);
[y,t]=impz(bz,az,50);
figure
(2)
stem(t,y,'.');
带通:
globalfp1
globalfp2
globalfs1
globalfs2
globalap
globalas
globalFs
wp1=2*pi*fp1/Fs;wp2=2*pi*fp2/Fs;ws1=2*pi*fs1/Fs;ws2=2*pi*fs2/Fs;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=buttord(wp,ws,ap,as,'s');
[num,den]=butter(N,wc,'s');
[numt,dent]=lp2bp(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,1);
w=linspace(0,pi,512);
figure
(1)
freqz(numd,dend,w);
[y,t]=impz(numd,dend,50);
figure
(2)
stem(t,y,'.');
带阻:
globalfp1
globalfp2
globalfs1
globalfs2
globalap
globalas
globalFs
wp1=2*pi*fp1/Fs;wp2=2*pi*fp2/Fs;ws1=2*pi*fs1/Fs;ws2=2*pi*fs2/Fs;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=buttord(wp,ws,ap,as,'s');
[num,den]=butter(N,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,1);
w=linspace(0,pi,512);
figure
(1)
freqz(numd,dend,w);
[y,t]=impz(numd,dend,50);
figure
(2)
stem(t,y,'.');
生成波形为:
低通及其单位脉冲响应:
高通及其单位脉冲响应:
带通及其单位脉冲序列:
带阻及其单位脉冲响应:
(三)、综合应用
语音信号的分析处理
源程序:
读入语音信号:
[x1,fs]=wavread('C:
\tada.wav');
sound(x1,fs);fs
y1=fft(x1,1024);
f=fs*(0:
511)/1024;
figure
(1)
plot(x1)
title('原始语音信号');
xlabel('timen');
ylabel('fuzhin');
figure
(2)
freqz(x1)
title('频率响应图')
figure(3)
subplot(2,1,1);
plot(abs(y1(1:
512)))
title('原始语音信号FFT频谱')
subplot(2,1,2);
plot(f,abs(y1(1:
512)));
title('原始语音信号频谱')
xlabel('Hz');
ylabel('fuzhi');
语音信号低通处理:
globalfp
globalfs
globalap
globalas
[x1,Fs]=wavread('C:
\tada.wav');
t=0:
1/Fs:
(size(x1)-1)/Fs;Fs
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,ap,as,'s');
[Z,P,K]=buttap(N);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);
[H,W]=freqz(bz,az);
figure
(1)
plot(W*fs/(2*pi),abs(H))
grid
xlabel('频率/Hz')
ylabel('频率响应幅度')
title('Butterworth')
f1=filter(bz,az,x1);
figure
(2)
subplot(2,1,1)
plot(t,x1);
title('滤波前的时域波形');
subplot(2,1,2)
plot(t,f1);
title('滤波后的时域波形');
sound(f1,22050);
F0=fft(f1,1024);
f=Fs*(0:
511)/1024;
figure(3)
y2=fft(x1,1024);
subplot(2,1,1);
plot(f,abs(y2(1:
512)));
title('滤波前的频谱')
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2)
F1=plot(f,abs(F0(1:
512)));
title('滤波后的频谱')
xlabel('Hz');
ylabel('fuzhi');
语音信号高通处理:
globalfp
globalfs
globalap
globalas
[x1,Fs]=wavread('C:
\tada.wav');
t=0:
1/Fs:
(size(x1)-1)/Fs;Fs
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,ap,as,'s');
[Z,P,K]=buttap(N);
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2hp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);
[H,W]=freqz(bz,az);
figure
(1)
plot(W*fs/(2*pi),abs(H))
grid
xlabel('频率/Hz')
ylabel('频率响应幅度')
title('Butterworth')
f1=filter(bz,az,x1);
figure
(2)
subplot(2,1,1)
plot(t,x1);
title('滤波前的时域波形');
subplot(2,1,2)
plot(t,f1);
title('滤波后的时域波形');
sound(f1,22050);
F0=fft(f1,1024);
f=Fs*(0:
511)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 课程设计 报告