数字信号处理报告
更新时间:2024-03-19 05:12:01 阅读量: 综合文库 文档下载
数字信号处理实验报告
实验目的
一、加深对离散傅立叶变换(DFT)和快速傅立叶变换(FFT)的理解,掌握通过两种变换求卷积的编程方法; 二、掌握设计巴特沃斯低通双线性IIR数字滤波器的原理和方法,以及从低通转换到高通的技术; 三、掌握用窗函数设计FIR数字滤波器的原理及方法,了解各种不同窗函数对滤波器性能的影响; 四、提高综合应用和分析的能力,Matlab编程能力等。
实验内容
实验一
一、实验名称 快速傅立叶变换 二、实验要求
编程利用FFT进行卷积计算,通过实验比较出快速卷积优越性。 三、实验原理
利用FFT进行离散卷积的步骤归纳如下: (1)、设x(n)的列长为N1,h(n)的列长为N2,要求
y(n)=x(n)*h(n)=
?k?0N?1x(k)h((n-k))NRN(n)=
?x(k)h(n?k)
k?0N?1[1]
(2)、为使两有限长序列的线性卷积可用其圆周卷积来代替而不产生混淆,必须选择N≥N1+ N2-1。为使用基-2FFT来完成卷积计算,故要求N=2(v是整数)。用补零的办法使x(n),h(n)具有列长N,即
v
n?0,1,2,??N1-1?x(n)x(n)= ?
0 n? N1,N1?1,??N-1?h(n)= ?
(3)为用圆周卷积定理计算线性卷积,先用FFT计算x(n) ,h(n) 的N点离散傅立叶变换
n?0,1,2,??N2-1?h(n)
n? N2,N2?1,??N-1?0 ? X(k) [2] x(n)??? h(n) (4)组成卷积
Y(k)=X(k)H(k) [4]
(5)利用IFFT计算Y(k)的离散傅立叶逆变换得到线性卷积y(n)。由于 y(n)=
FFT????H(k)
FFT [3]
?[(1/N)Y(k)]k?0N?1WN-nk=[
?[(1/N)Y*(k)]W
k?0N?1N
nk
]* [5]
可见,y(n)可由求(1/N)Y*(k)的FFT再取共轭得到。
四、实验题目
(1) 两个正弦序列的卷积(均为两个周期,256点) 输入序列:
卷积输出:
(2)正弦序列与三角序列的卷积(正弦序列为两个周期,256点;三角序列为一个周期,256个点) 输入序列:
卷积输出:
(3)两个矩形序列的卷积(均为两个周期,256个点,占空比0.5) 输入序列:
卷积输出:
(4)单位冲击与正弦波(单位冲击序列为256个点,正弦序列为1.7个周期,256个点)
输入序列:卷积输出:
任何序列与单位冲击序列的卷积为原序列,所以结果正确。
(5)正弦序列与矩形序列的卷积(两序列均为256个点,正弦序列为两个周期,矩形序列为两个周期,占空比为0.2) 输入序列:
卷积输出:
主要代码(只选一个参考,下同):
%(1)的代码
k=1:256;
s1=sin(k/64*pi); s2=s1;
xk=fft(s1,2*length(k)-1); yk=fft(s2,2*length(k)-1); rm=ifft(xk.*yk); m=(-255):(255); stem(m,rm)
xlabel('m'); ylabel('·ù?è');
实验二
一、实验名称 IIR数字滤波器 二、实验要求:
设计巴特沃斯低通双线性IIR数字滤波器,N=3,ωc=0.2π。 输入信号为以下三种序列(选择点数为128或256): 1. 单位取样
2. 三角序列(两个周期) 3. 矩形序列(占空比0.1或0.5)
给出输出的时域及频域效果,并进行简单的分析。
三、实验原理:
滤波器的作用是滤除信号中某一部分的频率分量。信号经过滤波器处理,就相当与信号频谱与滤波器的频率响应相乘的结果。在时域里来看,这就是信号与滤波器的冲激响应相卷积。可以说滤波器就是一个卷积器。 IIR滤波器的系统函数
H(z)??bzrr?0Nk?1M?r1??akz?kMy(n)?r?0brx(n?r)??aky(n?k)k?1N 对应的差分方程为
模拟滤波器系统函数Ha(s)的一般表示式为
Ha(s)??d?Ck?0?rr?0NNrsrskkd0?d1s?d2s2???dNsN?C0?C1s?C2s2???CNsN 数字滤波器系统函数H(z)的普遍表示式为
H(z)??bzrN?ak?0r?0Nkz?kB0?B1z?1?B2z?2???BNz?N?1?A1z?1?A2z?2???ANz?N 三阶次巴特沃斯滤波器的系统函数为
323?c/(s?2?cs?2?cs??c)32[?c?2?tan()]T2
由Ha(s)的系数表示经双极性变换后的Y(z)的表达式(三阶)ωc=0.2π Y(Z)=0.018099*X(Z)*Z+0.054297*X(Z)*Z+0.054297*X(Z)*Z+0.018099*X(Z)
+0.27806*Y(Z)*Z-1.18289*Y(Z)*Z+1.76004*Y(Z)*Z
即
y(n)=0.018099*x(n-3)+0.054297*x(n-2)+0.054297*x(n-1)+0.018099*x(n)
+0.27806*y(n-3)-1.18289*y(n-2)+1.76004*y(n-1)
由低通数字滤波器原形变换为高通数字滤波器
-3
-2
-1
-3
-2
-1
??1?az??1?a??1?1???ccos(c)2a?????ccos(c)2由截止频率ωc=0.2π三阶低通变换为截止频率ωc=0.6π三阶高通,经计算,其表达式为: y(n)=-0.098531x(n-3)+0.295594x(n-2)-0.295594x(n-1)+0.098531x(n)
-0.056297y(n-3)-0.42179y(n-2)-0.57724y(n-1)
计算过程:由给定的条件可计算出巴特沃斯系统函数的系数,相应可知摸拟系统函数的系数,经双极性变换法求出数字滤波器的系数,最后由差分方程实现低通滤波效果。经相应的Z平面映射,由映射公式变换得出数字高通滤波器系统函数的系数,从而由差分方程实现高通效果。
四、实验结果及分析: A.低通滤波:
(1).单位取样(256个点) 输入序列:
低通滤波后的傅立叶变换和输出序列:
The signal of y 10.80.60.40.200100200300-0.501002003000.51
The result of Filter 021.510.501.510.501234001234
(2).三角序列(256个点,两个周期) 输入序列:
低通滤波后的频谱和输出序列:
The signal of y 10.50-0.5-110.50-0.5-1 The result of Filter 010020030001002003001501501001005050001234001234
(3).矩形序列(两个周期,256个点,占空比0.5) 输入序列:
低通滤波后的频谱和输出序列:
The signal of y 10.50-0.5-1210-1-2 The result of Filter 010020030001002003002001501005002001501005000123401234
主要代码:
%y=[ones(1,64) -ones(1,64) ones(1,64) -ones(1,64)]; %y=[1 zeros(1,255)];
y=[1:32 31:-1:-32 -31:32 31:-1:-32 -31:0]./32; k=2*length(y);
[B,A]=butter(3,0.2*pi);
[num1,den1]=impinvar(B,A);
[h1,w]=freqz(num1,den1); [HH,TT]=impz(B,A);
YY1=conv(HH,y); %YY=filter(B,A,y); f=fft(y,k);
FF1=fft(YY1,k);
subplot(2,2,2);
stem(YY1(1:length(y)),'.');title(' The result of Filter '); subplot(2,2,1);
stem(y,'.');title(' The signal of y '); subplot(2,2,3); plot(w,abs(f)); subplot(2,2,4); plot(w,abs(FF1));
B.高通滤波:
(1)矩形序列(256个点,两个周期,占空比0.5) 输入序列:
高通滤波输出的频谱:
高通滤波输出:
The signal of y 10.50-0.5-1010020030010.50-0.5-10x 10-20-22x 10 The result of Filter 1002003002001501005000123410.5001234
(2)矩形序列(256个点,两个周期,占空比0.1) 输入序列:
高通滤波输出的频谱和高通滤波输出:
The signal of y 10.50-0.5-1010020030010.50-0.5-1-22x 10 The result of Filter 0x 10-201002003003002001001.510.5001234001234
主要代码:
y=[ones(1,13) -ones(1,115) ones(1,13) -ones(1,115)]; k=2*length(y);
[B,A]=butter(3,0.2*pi,'high'); [num1,den1]=impinvar(B,A);
[h1,w]=freqz(num1,den1); [HH,TT]=impz(B,A,'high');
YY1=conv(HH,y); %YY=filter(B,A,y); f=fft(y,k);
FF1=fft(YY1,k);
subplot(2,2,2);
stem(YY1(1:length(y)),'.');title(' The result of Filter '); subplot(2,2,1);
stem(y,'.');title(' The signal of y '); subplot(2,2,3); plot(w,abs(f)); subplot(2,2,4); plot(w,abs(FF1));
实验三
一、实验名称 FIR数字滤波器 二、实验要求:
设计一个截止频率为ωc=0.2π的线性相位低通数字滤波器,ω1=0.3π,ω2=0.3π的线性相位带通滤波器,分别用矩形窗和海明窗对其进行截断,N为61。输入序列64-128点,输出128-256点。输入单位取样及矩形序列(占空比0.1),画出输出序列及其频谱。
三、实验原理:
理想低通数字滤波器,其频率特性为Hd(ejω),现假设其幅频特性|Hd(ejω)|=1,相频特性φ(ω)=0,那么,该滤波器的单位
抽样响应hd(n)是以为hd(0)为对称的sinc函数,hd(0)=ωc/π。我们将hd(n)截短,例如仅取hd(-M/2),…,hd(0),…,hd(M/2),并将截短后的hd(n)移位,得
h(n)=hd(n-M/2) n=0,1,…,M
那么h( n )是因果的,且为有限长,长度为M+1,令 H(z)=∑h(n)Z-n n=0,1,…,M
即得到所设计滤波器的转移函数。H(z)的频率响应将近似Hd(ejω),且是线形相位的。
窗函数设计法是一种逼近,用其频响H(ejw)去逼近所要求的理想滤波器频响Hd(ejw),用其有限长单位冲击响应h(n)去逼近理想滤波器的无限长单位冲击响应hd(n),即:
设计FIR DF的关键是求出h(n),它应该是一个有限长因果序列。有限性可通过对hd(n)截取一段,即与某一窗函数相乘获
得;因果性可通过在时域上进行等。
设计时,先根据
的时延来获得,这不影响幅频特性,只影响相频。常用的窗函数有矩形窗、海明窗
算出hd(n),再根据指定的窗函数点数以及窗的类型得出h(n),对输入的待滤波序列和h(n)做卷积,即可达到滤波效果。具体实现时可根据线形卷积和圆周卷积的关系,通过补点把线形卷积化为圆周卷积,再根据离散时域的卷积定理,借助FFT求出两序列的频谱,对其频域的乘积做IFFT,即得到时域的圆周卷积。
理想低通滤波器幅频特性
可知: 同理:
带通滤波器的单位冲击响应为: h(n)=(Sinω2n- Sinω1n)/ (πn) 所以: y(n)?
m?0?h(m)x(n?m)
N?1四、实验结果及分析:
以下各图输入序列均为128个点,输出序列均为256个点,滤波器窗函数取样点的数目N均为61。 低通滤波
(1) 单位冲击序列输入:
输入序列1x(n)0.500204080100n加矩形窗低通滤波后频谱601201401幅度/dB0.50050150200n加矩形窗低通滤波后输出序列1002503000.2y(n)0-0.2050100150n200250300
输入序列1x(n)0.500204080100n加海明窗低通滤波后频谱601201400.5幅度/dB0050150200n加海明窗低通滤波后输出序列1002503000.1y(n)0-0.1050100150n200250300
加矩形窗后响应0幅度/dB-10-20-3000.10.20.30.40.50.6归一化频率/p加海明窗后响应0.70.80.91-5-10幅度/dB-15-20-2500.10.20.30.40.50.6归一化频率/p0.70.80.91
主要代码:
n=0:127;N=30;x(1)=1;x(2:128)=0;
h=sin(0.2*pi*(n-30))./(pi*(n-30+eps));y=conv(x,h);Y=abs(fft(y)); subplot(3,1,1); stem(n,x); xlabel('n'); ylabel('x(n)'); title('输入序列');
subplot(3,1,2); stem(0:254,Y) ;xlabel('n'); ylabel('幅度/dB'); title('加矩形窗低通滤波后频谱'); subplot(3,1,3); stem(0:254,y); xlabel('n'); ylabel('y(n)'); title('加矩形窗低通滤波后输出序列');
hd=sin(0.2*pi*(n-30))./(pi*(n-30+eps));
w=0.5-0.5*cos(2*pi*n/128); h=hd.*w; y=conv(x,h); Y=abs(fft(y)); subplot(3,1,1) ;stem(n,x); xlabel('n'); ylabel('x(n)'); title('输入序列');
subplot(3,1,2); stem(0:254,Y); xlabel('n'); ylabel('幅度/dB'); title('加海明窗低通滤波后频谱'); subplot(3,1,3); stem(0:254,y); xlabel('n'); ylabel('y(n)'); title('加海明窗低通滤波后输出序列'); n=0:127;h=sin(0.2*pi*(n-30))./(pi*(n-30+eps));[h1,w1]=freqz(h,1); subplot(2,1,1); plot(w1/pi,20*log10(abs(h1)));
xlabel('归一化频率/?'); ylabel('幅度/dB'); title('加矩形窗后响应') d=sin(0.2*pi*(n-30))./(pi*(n-30+eps)); w=0.5-0.5*cos(2*pi*n/128); h=d.*w;
[h1,w1]=freqz(h,1); subplot(2,1,2); plot(w1/pi,20*log10(abs(h1))); xlabel('归一化频率/?') ;ylabel('幅度/dB'); title('加海明窗后响应') ;
(2) 矩形序列输入(占空比0.5):
输入序列1x(n)0-10204080100n加矩形窗低通滤波后频谱60120140100幅度/dB500050150200n加矩形窗低通滤波后输出序列1002503002y(n)0-2050100150n200250300
输入序列1x(n)0-10204080100n加海明窗低通滤波后频谱6012014040幅度/dB200050150200n加海明窗低通滤波后输出序列1002503000.5y(n)0-0.5050100150n200250300
主要代码:
n=0:127;N=30;x=[ones(1,32) -ones(1,32),ones(1,32) -ones(1,32)]; h=sin(0.2*pi*(n-N))./(pi*(n-N+eps));y=conv(x,h);Y=abs(fft(y)); subplot(3,1,1) ;stem(n,x); xlabel('n'); ylabel('x(n)'); title('输入序列');
subplot(3,1,2) ;stem(0:254,Y); xlabel('n') ;ylabel('幅度/dB'); title('加矩形窗低通滤波后频谱'); subplot(3,1,3); stem(0:254,y); xlabel('n') ;ylabel('y(n)') ;title('加矩形窗低通滤波后输出序列'); hd=sin(0.2*pi*(n-30))./(pi*(n-30+eps));
w=0.5-0.5*cos(2*pi*n/128); h=hd.*w; y=conv(x,h); Y=abs(fft(y)); subplot(3,1,1) ;stem(n,x); xlabel('n'); ylabel('x(n)') ;title('输入序列');
subplot(3,1,2) ;stem(0:254,Y) ;xlabel('n'); ylabel('幅度/dB'); title('加海明窗低通滤波后频谱'); subplot(3,1,3) ;stem(0:254,y) ;xlabel('n'); ylabel('y(n)'); title('加海明窗低通滤波后输出序列');
分析:
可以看见相同的信号经过矩形窗与海宁窗后的效果有一定的区别,因为海宁窗可以得到旁瓣更小的效果,使能量能够更加集中于窗谱的主瓣内,增大了阻带衰减,可以使设计的信号更加接近模拟信号。
实验心得
通过该实验,我深刻了解了各种类型的序列表示,无论是正弦序列,矩形序列,三角序列都已经有了较为明确的概念了解。同时,我们对序列进行巴特沃斯低通双线性IIR数字滤波器,最终得到了卷积的图样。
除此之外,我们再次温习了MATLAB,并且对其中的傅里叶变换函数有了进一步的了解。
在此次试验中,我遇到了许多困难,由于对MATLAB的不熟悉,最初的导入函数总是出错,最后,在同学的指导下,终于完成了工作。
正在阅读:
数字信号处理报告03-19
如何描写声音06-26
加强和改进新形势下新闻宣传工作的几点思考01-10
秧田冲村委会2018年工作总结及2019年工作计划12-13
?急诊科质控工作总结03-27
七年级语文阅读(答案版)07-24
浅谈如何开展好少先队活动11-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 信号处理
- 数字
- 报告
- 2018最新工作违纪检讨书经典范文-实用word文档(3页)
- 关于高职高专任务型英语阅读教学的设计探讨
- 精选八年级语文上学期第三次月考12月试题
- 人教版小学二年级音乐上册教案全册
- 避孕药行业运营态势 - 图文
- 配套注水工艺技术
- 教育应该注重人格培训多于知识培训辩论稿点
- Java语言编码规范- 副本
- 2014年普通高等学校招生全国统一考试
- 2014-2015学年高中政治 2.5.1 企业的经营课时提升作业 新人教版
- 机票预定系统实验报告
- 2010年4月行政法与行政诉讼法(一)试题及答案
- 倾听孩子共同成长
- 公司前景无限好(三句半剧本)
- 汇编语言程序设计实验七 文件操作
- 期权试题盈亏平衡
- 个人房地产销售工作报告-精选模板
- 《电工电子技术》补修试题答案33333
- 浙江大学医学院附属邵逸夫医院庆春院区名医门诊一览表
- 2016年河北省内审师《内部审计基础》:其他数据收集手段考试题