《DSP软件实验报告--matlab_北邮.docx》由会员分享,可在线阅读,更多相关《DSP软件实验报告--matlab_北邮.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab仿真实验实验报告学 院: 电子工程学院 专 业: 电子信息科学与技术班 级: 学 号: 姓 名: 李昊轩 时 间: 2014年12月19日 实验一:数字信号的FFT分析1.实验目的通过本次试验,应该掌握:(a) 用傅里叶变换进行信号分析时基本参数的选择(b) 经过离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别,前者DTFT时间域是离散信号,频率域还是连续的,而DFT在两个域中都是离散的。(c) 离散傅里叶变化的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念
2、,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。(e) 建立DFT从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用时数字音频压缩中的分析滤波器,例如DVD AC3和MPEG Audio。2.实验内容、要求及结果。(1)离散信号的频谱分析:设信号x(n)=0.001*cos(0.45n)+sin(0.3n)-cos(0.302n-4)此信号的0.3和0.302两根谱线相距很近,谱线0.45的幅度很小,请选择合适的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。【实验代码】:clear;close all;N=5000;n=1:1:N;x=0.
3、001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);y=fft(x,N);a=abs(y(1:1:N/2+1);k=0:1:N/2;w=2*pi/N*k;stem(w/pi,a);axis(0.29,0.46,0,10);【实验结果图】:(2)DTMF信号频谱分析用计算机声卡采集一段通信系统中电话双音多频(DTMF)拨号数字09的数据,采用快速傅里叶变换(FFT)分析这10个号码DTMF拨号时的频谱。【实验代码】:num=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; f1=697,770,852,941;
4、f2=1209,1336,1477,1633; in=input(键入1位0-9的数字= );for p=1:4for q=1:4if num(p,q)=in,break,end endif num(p,q)=in,break,endendn=0:1023; x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);X=fft(x,1024);X=abs(X);y=sort(X);for i=1:1024 if X(i) limit, break, end end for r=1:4; if val(r) limit, break, end end
5、 TNr=TNr+tm(r,s-4)*10(11-m); hao=int2str(tm(r,s-4); title(hao,color,r);enddisp(接收端检测到的号码为:) disp(num2str(TNr) 实验三:FIR数字滤波器的设计和实现1. 实验目的: 通过本次试验,掌握一下知识: FIR数字滤波器窗口设计法的原理和设计步骤; Gibbs效应发生的原因和影响; 不同类型的窗函数对滤波效果的影响,以及窗函数和长度N的选择。(效果,耳机听前后声音,或者看前后的频谱图)2. 实验内容、要求及结果: 录制一段自己的声音,长度为十几秒,取样频率32khz,然后叠加一个高斯白噪声,(知
6、道噪声分布,知道噪声功率,只要知道输入信号功率),使得信噪比为20db。请采用窗口法,设计一个FIR带通滤波器,滤除噪声提高质量。提示: 滤波器指标参考:通带边缘频率为4khz,阻带边缘频率为4.5khz,阻带衰减大于50db; Matlab函数y=awgn(x,snr,measured),首先测量输入信号x的功率,然后对其叠加高斯白噪声。【实验代码】:clc, clearfs=32000;x,fs,bits=wavread(1.wav);snr=20;x2=awgn(x,snr,measured,db);wavwrite(x2,fs,16,2.wav);t=0:1/fs:(size(x2)-
7、1)/fs;wp=8000*pi/32000;ws=9000*pi/32000;wdelta=ws-wp;N=ceil(11*pi/wdelta); %取整wn=(ws+wp)/2;b=fir1(N,wn/pi,blackman(N+1); %选择窗函数,并归一化截止频率figure(1)freqz(b,1,512)f2=filter(b,1,x2);title(滤波器幅频、相频特性);figure(2)subplot(2,1,1)plot(t,x2)title(滤波前时域波形);subplot(2,1,2)plot(t,f2)title(滤波后时域波形);F0=fft(f2,1024);f=
8、fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1)plot(f,abs(y2(1:512);title(滤波前频谱)xlabel(Hz);ylabel(幅度);subplot(2,1,2)F2=plot(f,abs(F0(1:512);title(滤波后频谱)xlabel(Hz);ylabel(幅度);wavwrite(f2,fs,16,3.wav);【实验结果图】: 实验问题及总结:在这次实验之前我就有接触过一些关于matlab的学习,那是大一下学期的专业选修课,不过当时并没有实践,大部分还是理论的学习,这次的matlab实验让我学
9、到了许多,以前是学过matlab的,但是已经忘的差不多了,正好有这次机会让我重新复习相关的知识。把matlab与数字信号处理的相关知识很好的联系到一起。 首先通过这次试验,使我更加深刻的理解DFT、FFT以及滤波器的原理和应用,并且能够用仿真软件设计滤波器达到滤除高斯白噪声的目的。在数字信号处理的理论课上,对于傅里叶变换、数字滤波器等知识的了解并不是很深刻,但是通过这次试验,我更好的理解了用傅里叶变换进行信号分析时基本参数的选择、离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别、离散傅里叶变化的基本原理、特性,以及经典的快速算法的效率,也更好的掌握了IIR数字滤波器的设计方法、实现结构及其性能,还有不同类型的窗函数对滤波效果的影响,以及窗函数和长度N的选择。在实验过程中还是不可避免的遇到了一些问题,一开始对于matlab软件的使用完全不熟悉,对于其中一些函数的运用也相当生疏,所以即使第一题比较简单,也花了相当一部分时间才完成。后来逐渐熟悉了,遇到的问题也通过自己上网查找资料得以解决。虽然课程时间非常短,不过让我有了对于MATLAB学习方向的掌握,相信以后对此的学习也不是是么问题,最后,谢谢老师的教导!
限制150内