- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
离散信号处理课程设计报告
摘要
本课程设计是一个基于离散信号处理综合性较强的实验。利用MATLAB6.0开发工具,对已知的两段语音信号进行滤波处理,并通过频谱图分析两段正弦噪声的频率以及噪声加入时间。本设计能够很好的完成实验要求,并对结果进行了精度分析,在简单的实验环节下,有效地保证了滤波效果。
关键字:FFT FIR滤波器 频谱分析
课程设计目的
从实践中理解和掌握离散信号的FFT变换和FIR滤波器及IIR滤波器的设计
能够分析频谱图
使用MATLAB工具设计一些常用滤波器
课程设计要求
1、 判断信号中正弦信号的加入时间;
2、 计算信号中正弦信号的频率;
3、 设计滤波器滤去两信号中的噪声;
4、 设计方法合成两信号得到完美的信号。
实验过程及分析
1、信号生成方法:
(a)在文件夹中双击zy2.exe,按提示输入学号200304049029,在同一个目录下会得到out1.dat,out2.dat两个文件,即为所需数据文件。文件中数据为float类型,Matlab中表示为float32。
(b)用fopen和fread命令将out1.dat和out2.dat分别代入为有限时间序列x和y。指令如下:
fp=fopen(out1.dat);x=fread(fp,float32);
fp=fopen(out2.dat);y=fread(fp,float32);
2、求正弦信号的频率:
分析:由于所加入的噪声信号是两个正弦信号,所以FFT变换后是两个冲击信号。根据频谱图可得信号长度N,噪声所在长度K,而数字角频率 ω=(K-1)*?ω, 其中?ω=2π/N,实际角频率Ω=ω/T,其中T为采样时间:T=1/fs,fs=11025,所以Ω=ω*fs。由此算出实际频率f=Ω/2π。通过以上分析,就可得到两个噪声频率f1和f2。
老师随机分给我的音频信号是一段军号声音。通过MATLAB测试可知两个信号x和y都是一个包含66361个点的离散序列,因此要进行2^17个点的FFT变换。变换后的频谱是一个131072点的序列,频谱图如下所示:
图中明显的冲激量就是正弦信号。对图进行放大,可以得到如下较精确的K值:
K1=14297 K2=42806
得到的k值只是X(k)中的点的序列数,由上面分析可得,还要经过下面公式的换算,才能得到对应的以hz为单位的频率:
其中 (Hz)
是因为Matlab中的的范围是由1到,教科书中是由?0到N-1,是采样频率,一般为11025Hz,
N= 2^17,2π/N是数字频率间隔。由此计算出:
x中的正弦噪声频率: 1202.5Hz;y中的正弦噪声频率: 3600.5Hz。
正弦信号加入时间:
方案一:将原信号等间隔的分成 n等份,然后对每等份进行FFT变换,当在某一段信号中出现冲击时,噪声信号便是在这段信号中加入的。但当N很大时,用这种方法比较麻烦。
方案二:将时间离散序列x和y各自按一定的步长分成多段,观察每一段的频谱,如果从某一段开始之后各段的f1和f2处出现了明显的冲激,就可以确定噪声是在该段开始加入的。
综上所述,选择方案二。
使用plot(abs(fft(x(n1:n2),2^17)))语句,观察x(或y)的频谱,不断调整n1,n2的值,在观察能力范围下,使n2-n1的间距达到最小时任可看到正弦冲激。此时n的点数为:23900~23950,如图所示:
由此可计算:t = (23900+23950)/2×11025=2.17
即噪声是在2.17s时加入的。
滤波器的设计;
方案一:选用IIR数字滤波器。IIR滤波器具有良好的幅度特性,可以利用模拟滤波器现成的设计公式、数据和表格、资料等,工作量小。但在计算舍入误差时很引起振荡,而且相位特性是非线性的。
方案二:选用FIR数字滤波器。此滤波器最大的特点就是线性相位,有较好的稳定性,有限精度运算的条件下,也能有较小的误差,而且还可以运用FFT等快速算法。
从精度和线性相位角度考虑,我们选择方案二。
基本原理:x的噪声频率f1为1202.5Hz,可设计一低通滤波器将其滤除;y的噪声频率f2为3600.5Hz,可用一个高通或带通滤波器将其滤除。
性能设计:FIR的阶数越高,零点越多。过渡带宽一定时,阶数越大,即过渡点越多,则阻带衰减越大;阶数越小,情况则相反。设计中要求过渡带的宽度要尽量小,才能接近理想的幅度响应要求。同时阶数越大,滤波器就越复杂。所以需要在阶数、过渡带宽之间有较好的权衡。
在MATLAB中可以利用fir1函数设计各类FIR数字滤波器,包括低通、带通、高通、带阻等类型的滤波器。Fir1函数设计滤波器实际上是采用了窗函数设计FIR线性相位滤波器的方法。值得注意的是:f
文档评论(0)