资源描述:
《实验二数字信号的处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案实验二用FFT对信号作频谱分析一、实验目的与要求学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。一、实验原理用FFT对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N,因此要求2π/N小于等于D。可以根据此式选择FFT的变换区间N。误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大
2、时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。二、实验步骤及内容(1)对以下序列进行FFT分析:x1(n)=R4(n)n+10≤n≤3x2(n)={8-n4≤n≤70其它n4-n0≤n≤3X3(n)={n-34≤n≤70其它n选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较xn1=[1111];Xk18=fft(xn1,8);yn11=abs(Xk18);n11=0:length(yn11)-1;Xk116=fft(xn1,16);yn12=abs(Xk116);n12=0:length(yn12)-1;
3、n=0:3;x21=n+1;x31=4-n;n=4:7;x22=8-n;x32=n-3;xn2=[x21,x22];Xk28=fft(xn2,8);yn21=abs(Xk28);n21=0:length(yn21)-1;Xk216=fft(xn2,16);yn22=abs(Xk216);精彩文档实用标准文案n22=0:length(yn22)-1;xn3=[x31,x32];Xk38=fft(xn3,8);yn31=abs(Xk38);n31=0:length(yn31)-1;Xk316=fft(xn3,16);yn32=abs(Xk316);n32=0:lengt
4、h(yn32)-1;figure;subplot(3,2,1);stem(n11,yn11,'.');xlabel('n');ylabel('yn11');title('八点傅立叶变换');subplot(3,2,2);stem(n12,yn12,'.');xlabel('n');ylabel('yn12');title('十六点傅立叶变换')subplot(3,2,3);stem(n21,yn21,'.');xlabel('n');ylabel('yn21');title('八点傅立叶变换');subplot(3,2,4);stem(n22,yn22,'.');x
5、label('n');ylabel('yn22');title('十六点傅立叶变换')subplot(3,2,5);stem(n31,yn31,'.');xlabel('n');ylabel('yn31');title('八点傅立叶变换');subplot(3,2,6);stem(n32,yn32,'.');xlabel('n');ylabel('yn32');title('十六点傅立叶变换')精彩文档实用标准文案(1)对以下周期序列进行谱分析:x4(n)=cos[(π/4)*n]x5(n)=cos[(π/4)*n]+cos[(π/8)*n]选择FFT的变换区间N为
6、8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较n=0:7;xn1=cos(pi*n/4);xn2=cos(pi*n/4)+cos(pi*n/8);Xk18=fft(xn1,8);yn11=abs(Xk18);n11=0:length(yn11)-1;Xk28=fft(xn2,8);yn21=abs(Xk28);n21=0:length(yn21)-1;n=0:15;xn1=cos(pi*n/4);xn2=cos(pi*n/4)+cos(pi*n/8);Xk116=fft(xn1,16);yn12=abs(Xk116);n12=0:len
7、gth(yn12)-1;Xk216=fft(xn2,16);yn22=abs(Xk216);n22=0:length(yn22)-1;figure;精彩文档实用标准文案subplot(2,2,1);stem(n11,yn11,'.');xlabel('n');ylabel('yn11');title('八点傅立叶变换');subplot(2,2,2);stem(n12,yn12,'.');xlabel('n');ylabel('yn12');title('十六点傅立叶变换');subplot(2,2,3);stem(n21,yn21,'.');xlabel('n