




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的二、实验原理三、涉及的MATLAB函数四、实验内容与方法五、实验要求六、思考题
一、实验目的
(1)通过本实验的练习,了解离散时间信号时域运算的基本实现方法;
(2)了解相关函数的调用格式及作用;
(3)通过本实验,掌握离散时间信号时域基本运算的原理及编程思想。
二、实验原理
利用离散域快速傅里叶变换或反变换。三、涉及的MATLAB函数
fft函数
调用格式:
fft(f,N):计算函数f的N点快速傅里叶变换。
[H,W]=FREQZ(B,A,N):得到由B和A所确定的滤波器的N点复频率向量H和N点频率
向量W(弧度)四、实验内容与方法
1.验证性实验
1)离散函数傅里叶变换
MATLAB程序:
clf;N=8;N1=16;K=4;
n=0:N-1;k=0:N1-1;
f1=[ones(1,K),zeros(1,N1-K)];xk=fft(f1,N);yk=fft(f1,N1);
subplot(2,1,1);
stem(n,abs(xk));
text(3,3,′N=8′);grid;
subplot(2,1,2);stem(k,abs(yk));
text(3,3,′N=16′);grid;
离散函数傅里叶变换如图12.1所示。图12.1离散函数傅里叶变换2)计算DTFT
MATLAB程序:
clf;%计算DTFT,其中K是频率点数
k=512;
num=[0.008-0.0330.05-0.0330.008];
den=[12.372.71.60.41];
w=0:pi/k:pi;h=freqz(num,den,w);
subplot(2,1,1);plot(w/pi,abs(h));
title(′幅值谱′);xlabel(′\omega/\pi′);ylabel(′幅值′);
subplot(2,1,2);plot(w/pi,angle(h));
title(′相位谱′);
xlabel(′\omega/\pi′);ylabel(′phase,radians′);
DTFT的计算结果如图12.2所示。图12.2DTFT的计算
3)离散傅里叶变换及其快速算法
对连续的单一频率周期信号,按采样频率fs=8fa采样,截取长度N分别选N=20和N=16,观察其DFT结果的幅度谱。此时离散序列x(n)=sin(2πnfa/fs)=sin(2πn/8),即k=8。用MATLAB计算并作图,函数fft用于计算离散傅里叶变换DFT,程序如下:
k=8;%计算DFT计算离散傅里叶变换DFT
n1=[0:1:19];xa1=sin(2*pi*n1/k);
subplot(2,2,1)plot(n1,xa1)
xlabel(′t/T′);ylabel(′x(n)′);xk1=fft(xa1);xk1=abs(xk1);
subplot(2,2,2)stem(n1,xk1)xlabel(′k′);ylabel(′X(k)′);
n2=[0:1:15];xa2=sin(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2)
xlabel(′t/T′);ylabel(′x(n)′);xk2=fft(xa2);xk2=abs(xk2);
subplot(2,2,4);stem(n2,xk2)xlabel(′k′);ylabel(′X(k)′);
离散傅里叶变换及其快速计算结果如图12.3所示。图12.3离散傅里叶变换及其快速计算在图12.3中,(a)和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个半周期,频谱出现泄漏;(c)和(d)分别是N=16时的截取信号和DFT结果,由于截取了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非整周期截断产生的频谱泄漏。
4)序列互相关函数的计算
(1)用FFT计算以下两个序列的互相关函数rxy(m)。
x(n)={13-112331},
y(n)={21-1120-13}MATLAB程序:
x=[13-112331];%互相关函数
y=[21-1120-13];
k=length(x);xk=fft(x,2*k);
yk=fft(y,2*k);rm=real(ifft(conj(xk).*yk));
rm=[rm(k+2:2*k)rm(1:k)];
m=(-k+1):(k-1);
stem(m,rm);
xlabel(′m′);ylabel(′幅度′);
序列互相关函数的计算结果如图12.4所示。图12.4序列互相关函数的计算
(2)用FFT计算两个序列的互相关函数,其中x(n)={23521-100123530-1-2012},y(n)=x(n-4)+e(n),e(n)为一随机噪声,在MATLAB中可以用随机函数rand产生。
MATLAB程序:
x=[23521-100123530-1-2012];
y=[000023521-100123530-1-2012];
k=length(y);e=rand(1,k)-0.5;
y=y+e;xk=fft(x,2*k);
yk=fft(y,2*k);rm=real(ifft(conj(xk).*yk));
rm=[rm(k+2:2*k)rm(1:k)];
m=(-k+1):(k-1);stem(m,rm)xlabel(′m′);ylabel(′幅度′);
序列相关函数的计算结果如图12.5所示。图12.5序列相关函数的计算计算结果如图12.5(a)所示,我们看到最大值出现在m=4处,正好是y(n)对于x(n)的延迟。
图12.5(b)是x(n)的自相关函数,它和y(n)的区别除时间位置外,形状也略不同,这是由于y(n)受到噪声的干扰。5)离散傅里叶计算
MATLAB程序:
clf;
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(′H(e^{j\omega}的实部)′);xlabel(′\omega/\pi′);ylabel(′幅值′);
subplot(2,1,2)plot(w/pi,imag(h));grid
title(′H(e^{j\omega}的虚部)′);
xlabel(′\omega/\pi′);ylabel(′幅值′);
pause
subplot(2,1,1)plot(w/pi,abs(h));grid
title(′幅值谱|H(e^{j\omega})|′);xlabel(′\omega/\pi′);ylabel(′幅值′);
subplot(2,1,2)plot(w/pi,angle(h));grid
title(′相位谱arg[H(e^{j\omega})]′);
xlabel(′\omega/\pi′);ylabel(′相位′);
离散傅里叶计算的结果如图12.6所示。图12.6离散傅里叶计算6)离散傅里叶性质
(1)时移特性。
MATLAB程序:
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(′原始序列的幅值谱′);
subplot(2,2,2)plot(w/pi,abs(h2));gridtitle(′时移序列的幅值谱′);
subplot(2,2,3)plot(w/pi,angle(h1));grid
title(′原始序列的相位谱′);
subplot(2,2,4)plot(w/pi,angle(h2));grid
title(′时移序列的相位谱′);
离散傅里叶的时移特性如图12.7所示。图12.7离散傅里叶的时移特性(2)频移特性。
MATLAB程序:
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(′原始序列的幅值谱′);subplot(2,2,2)plot(w/pi,abs(h2));grid
title(′频移序列的幅值谱′);
subplot(2,2,3)plot(w/pi,angle(h1));grid
title(′原始序列的相位谱′);
subplot(2,2,4)plot(w/pi,angle(h2));grid
title(′频移序列的相位谱′);
离散傅里叶的频移特性如图12.8所示。图12.8离散傅里叶的频移特性(3)卷积特性。
MATLAB程序:
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(′幅值谱的积′);
subplot(2,2,2);plot(w/pi,abs(h3));grid
title(′卷积序列的幅值谱′);subplot(2,2,3);plot(w/pi,angle(hp));grid
title(′相位谱的和′);
subplot(2,2,4);plot(w/pi,angle(h3));grid
title(′卷积序列的相位谱′);
离散傅里叶的卷积特性如图12.9所示。图12.9离散傅里叶的卷积特性(4)调制特性。
MATLAB程序:
clf;
w=-pi:2*pi/255:pi;
x1=[1357911131517];
x2=[1-11-11-11-11];
y=x1.*x2;
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
h3=freqz(y,1,w);
subplot(3,1,1)
plot(w/pi,abs(h1));gridtitle(′第一个序列的幅值谱′);
subplot(3,1,2)
plot(w/pi,abs(h2));grid
title(′第二个序列的幅值谱′);
subplot(3,1,3)
plot(w/pi,abs(h3));grid
title(′序列积的幅值谱′);
离散傅里叶的调制特性如图12.10所示。图12.10离散傅里叶的调制特性(5)时间反转特性。
MATLAB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论