南昌大学数字信号处理实验3.docx
《南昌大学数字信号处理实验3.docx》由会员分享,可在线阅读,更多相关《南昌大学数字信号处理实验3.docx(37页珍藏版)》请在冰豆网上搜索。
南昌大学数字信号处理实验3
数字信号处理实验3
一、实验目的
1、理解和掌握基于MATLAB仿真研究离散时间傅里叶变换的时移性质;
2、理解和掌握基于MATLAB仿真研究离散时间傅里叶变换的频移性质;
3、理解和掌握基于MATLAB仿真研究离散时间傅里叶变换的卷积性质;
4、理解和掌握基于MATLAB仿真研究离散时间傅里叶变换的调制性质;
5、理解和掌握基于MATLAB仿真研究离散时间傅里叶变换的反转性质。
二、离散时间傅里叶变换
源程序P3_1如下:
%ProgramP3_1
%EvaluationoftheDTFT
clf;
%ComputethefrequencysamplesoftheDTFT
w=-4*pi:
8*pi/511:
4*pi;
num=[21];den=[1-0.6];
h=freqz(num,den,w);
%PlottheDTFT
subplot(2,1,1)
plot(w/pi,real(h));grid
title('RealpartofH(e^{j\omega})')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,imag(h));grid
title('ImaginarypartofH(e^{j\omega})')
xlabel('\omega/\pi');
ylabel('Amplitude');
pause
subplot(2,1,1)
plot(w/pi,abs(h));grid
title('MagnitudeSpectrum|H(e^{j\omega})|')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,angle(h));grid
title('PhaseSpectrumarg[H(e^{j\omega})]')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
回答:
Q3.1P3_1的原始序列-H(ejw)=(2+z-1)/(1-0.6z-1)
Pause命令作用–如果没有带参数则等待用户输入,否则按照参数来等待一定的时间
Q3.2P3_1图像显示如下:
DTFT是w的周期函数
周期-2*pi
四个图形表示的对称性:
(1)实部是以2pi为周期的偶函数
(2)虚部是以2pi为周期的奇函数
(3)幅度谱是以2pi为周期的偶函数
(4)相位谱是以2pi为周期的奇函数
Q3.3修改程序P3_1计算3.3的离散时间傅里叶变换:
%ProgramP3_1
%EvaluationoftheDTFT
clf;
%ComputethefrequencysamplesoftheDTFT
N=512;
num=[0.7-0.50.31];
den=[10.3-0.50.7];
[h,w]=freqz(num,den,N);
%PlottheDTFT
subplot(2,1,1)
plot(w/pi,real(h));grid
title('RealpartofH(e^{j\omega})')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,imag(h));grid
title('ImaginarypartofH(e^{j\omega})')
xlabel('\omega/\pi');
ylabel('Amplitude');
pause
subplot(2,1,1)
plot(w/pi,abs(h));grid
title('MagnitudeSpectrum|H(e^{j\omega})|')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,angle(h));grid
title('PhaseSpectrumarg[H(e^{j\omega})]')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
TheplotsgeneratedbyrunningthemodifiedProgramP3_1areshownbelow:
DTFT是的周期函数.
周期是-2pi
产生相位谱跳变的原因是-计算机中反正切函数规定,在一二象限中的角度为0-pi,三四象限的角度为0-(-pi),若角度从零变到2pi,实际得到的结果是0-pi,再由(-pi)-0,在w=pi处发生跳变,叫做相位的卷绕
移除跳变后如下所示:
Q3.4修改P3_1的程序得到图形:
DTFT是w的周期函数
周期是2pi
相位跳变产生的原因是-角度变化了360度
Q3.5修改P3_1使得用度来衡量跳变:
%plotphaseindegrees
subplot(2,1,2)
plot(w/pi,180*angle(h)/pi);grid
title('PhaseSpectrumarg[H(e^{j\omega})]')
xlabel('\omega/\pi');
ylabel('Phaseindegrees');
Project3.2离散时间傅里叶变换的性质
回答:
Q3.6通过给P3_2增加解释语句以及给轴做标记:
%ProgramP3_2Time-ShiftingPropertiesofDTFT
clf;
w=-pi:
2*pi/255:
pi;wo=0.4*pi;D=10;
num=[123456789];
h1=freqz(num,1,w);
h2=freqz([zeros(1,D)num],1,w);
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title('MagnitudeSpectrumofOriginalSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title('MagnitudeSpectrumofTime-ShiftedSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,3)
plot(w/pi,angle(h1));grid
title('PhaseSpectrumofOriginalSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,4)
plot(w/pi,angle(h2));grid
title('PhaseSpectrumofTime-ShiftedSequence')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
控制时移的参数是-D
Q3.7产生的图像为:
通过图像观察到:
时移后幅度谱没有变化,相位谱的则更密了
Q3.8P3_2的时移为-5
图像如下:
得到的观察是:
时移后,幅度谱没有变化,相位谱更密了
Q3.9修改P3_2的程序使得–长度为4,时移为3
图像显示如下:
得到的观察:
时移后,幅度谱没有变化,相位谱则更加密了
Q3.10给P3_3增加解释语句并给轴坐标增加标签:
%ProgramP3_3
%Frequency-ShiftingPropertiesofDTFT
clf;
w=-pi:
2*pi/255:
pi;wo=0.4*pi;
num1=[1357911131517];
L=length(num1);
h1=freqz(num1,1,w);
n=0:
L-1;
num2=exp(wo*i*n).*num1;
h2=freqz(num2,1,w);
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title('MagnitudeSpectrumofOriginalSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title('MagnitudeSpectrumofFrequency-ShiftedSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,3)
plot(w/pi,angle(h1));grid
title('PhaseSpectrumofOriginalSequence')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
subplot(2,2,4)
plot(w/pi,angle(h2));grid
title('PhaseSpectrumofFrequency-ShiftedSequence')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
控制频移的参数是–wo
Q3.11图像显示如下:
得到的观察是:
频移后幅度谱右移,序列的傅里叶变换不具有共轭对称性
Q3.12P3_3的频移是–wo=-0.5*pi
图像如下:
Q3.13改变序列长度和频移值–长度为4,频移为pi
图像如下:
Q3.14给P3_4加入解释语句和给轴加入标签后代码为:
%ProgramP3_4
%ConvolutionPropertyofDTFT
clf;
w=-pi:
2*pi/255:
pi;
x1=[1357911131517];
x2=[1-23-21];
y=conv(x1,x2);
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
hp=h1.*h2;
h3=freqz(y,1,w);
subplot(2,2,1)
plot(w/pi,abs(hp));grid
title('ProductofMagnitudeSpectra')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,2)
plot(w/pi,abs(h3));grid
title('MagnitudeSpectrumofConvolvedSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
subplot(2,2,3)
plot(w/pi,angle(hp));grid
title('SumofPhaseSpectra')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
subplot(2,2,4)
plot(w/pi,angle(h3));grid
title('PhaseSpectrumofConvolvedSequence')
xlabel('\omega/\pi');
ylabel('Phaseinradians');
Q3.15图像如下:
得到的观察是:
可以知道两个序列逐点相乘得到的幅度谱和相位谱和原始序列进行时域卷积得到的相同
Q3.16改变序列长度后:
x1=[1357911],x2不变
得到观察是:
再次验证了DTFT的卷积性质,两个序列逐点相乘得到的幅度谱和相位谱和原始序列进行时域卷积得到的相同。
Q3.17加入解释语句和给坐标轴加上标签后代码为:
%ProgramP3_5B
%ModulationPropertyofDTFT
clf;
w=-pi:
2*pi/255:
pi;%freqencyvectorforevaluatingDTFT
x1=[1357911131517];%firstsequence
x2=[1-11-11-11-11];%secondsequence
%yisthetimedomainpointwiseproductofx1andx2
y=x1.*x2;
h1=freqz(x1,1,w);%DTFTofsequencex1
h2=freqz(x2,1,w);%DTFTofsequencex2
h3=freqz(y,1,w);%DTFTofsequencey
%plotthemagnitudespectrumofx1
subplot(3,1,1)
plot(w/pi,abs(h1));grid
title('MagnitudeSpectrumofFirstSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
%plotthemagnitudespectrumofx2
subplot(3,1,2)
plot(w/pi,abs(h2));grid
title('MagnitudeSpectrumofSecondSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
%plotthemagnitudespectrumofy
%itshouldbe1/2pitimestheconvolutionoftheDTFT's
%ofthetwooriginalsequences.
subplot(3,1,3)
plot(w/pi,abs(h3));grid
title('MagnitudeSpectrumofProductSequence')
xlabel('\omega/\pi');
ylabel('Amplitude');
Q3.18图像如图:
得到的观察是:
两个序列乘积的幅度谱较之两个序列的幅度谱更趋于平缓
Q3.19改变序列长度后得到的图像如下:
得到的观察是:
x1是高通,x2是低通,乘积后的幅度谱是高通
Q3.20给P3_6加入解释和给坐标轴加上标签后:
%ProgramP3_6B
%TimeReversalPropertyofDTFT
clf;
w=-pi:
2*pi/255:
pi;%freqencyvectorforevaluatingDTFT
%originalrampsequence
%note:
numisnonzerofor0<=n<=3.
num=[1234];
L=length(num)-1;
h1=freqz(num,1,w);%DTFToforiginalrampsequence
%h2containsthesamplevaluesofh1inreverseorder,but
%itisNOTthetimereversedversionofh1.Thetime
%reversedversionmustbenonzerofor-3<=n<=0.However,
%h2isnonzerofor0<=n<=3.So,togetthetimereversed
%versionofh1,westillneedtotimeSHIFTh2totheleft.
%Thisisaccomplishedinthefrequencydomainusingthetime
%shiftpropertyoftheDTFT.Thus,h3,whichISthetime
%reversedversionofh1,isobtainedbymultiplyingh2times
%alinearphasetermtoaccomplishtherequiredtimeshift.
h2=freqz(fliplr(num),1,w);
h3=exp(w*L*i).*h2;
%plotthemagnitudespectrumoftheoriginalrampsequence
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title('MagnitudeSpectrumofOriginalSequence','FontSize',8)
xlabel('\omega/\pi');
ylabel('Amplitude');
%plotthemagnitudespectrumofthetimereversedrampsequence
subplot(2,2,2)
plot(w/pi,abs(h3));grid
title('MagnitudeSpectrumofTime-ReversedSequence','FontSize',8)
xlabel('\omega/\pi');
ylabel('Amplitude');
%plotthephasespectrumoftheoriginalrampsequence
subplot(2,2,3)
plot(w/pi,angle(h1));grid
title('PhaseSpectrumofOriginalSequence','FontSize',8)
xlabel('\omega/\pi');
ylabel('Phaseinradians');
%plotthephasespectrumofthetimereversedrampsequence
subplot(2,2,4)
plot(w/pi,angle(h3));grid
title('PhaseSpectrumofTime-ReversedSequence','FontSize',8)
xlabel('\omega/\pi');
ylabel('Phaseinradians');
怎么实现时间反转–通过使用fliplr函数将矩阵反转,在利用DTFT的时移性质来得到
Q3.21图像显示如下:
得到的观察是:
反转后幅度谱不变,相位谱变化方向。
Q3.22改变序列的长度:
Num=[135791113]
Num=[246810]
得到的观察是:
时间反转后,幅度谱没有变化,频谱呈对称
3.2离散傅里叶变换
Project3.3DFT和IDFT计算
Answers:
Q3.23MATLAB程序计算并画出L点DFTX[k]和长度为N的序列x[N]并且L
N计算并画出IDFTX[k]:
%ProgramP3_3DFT
%ComputeandplottheL-pointDFTofanN-pointsignal,L>=N.
clf;
%Initialize
N=200;%lengthofsignal
L=256;%lengthofDFT
nn=[0:
N-1];
kk=[0:
L-1];
%thesignalx
xR=[0.1*(1:
100)zeros(1,N-100)];%realpart
xI=[zeros(1,N)];%imagpart
x=xR+i*xI;
%DFT
XF=fft(x,L);
%plotxRandxI
subplot(3,2,1);grid;
plot(nn,xR);grid;
title('Re\{x[n]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
subplot(3,2,2);
plot(nn,xI);grid;
title('Im\{x[n]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
%plotrealandimagpartsofDFT
subplot(3,2,3);
plot(kk,real(XF));grid;
title('Re\{X[k]\}');
xlabel('Frequencyindexk');
ylabel('Amplitude');
subplot(3,2,4);
plot(kk,imag(XF));grid;
title('Im\{X[k]\}');
xlabel('Frequencyindexk');
ylabel('Amplitude');
%IDFT
xx=ifft(XF,L);
%plotrealandimaginarypartsoftheIDFT
subplot(3,2,5);
plot(kk,real(xx));grid;
title('RealpartofIDFT\{X[k]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
subplot(3,2,6);
plot(kk,imag(xx));grid;
title('ImagpartofIDFT\{X[k]\}');
xlabel('Timeindexn');
ylabel('Amplitude');
图像显示如下:
得到的观察是:
信号总长度N=200。
的DFT长度L=256。
可见,256点DFT的共轭对称的期望。
从IDFT获得的信号的长度为L=256,但是将原始信号上舍入相同。
Q3.24代码如下:
%ProgramQ3_24
%Useas