数字信号处理仿真设计Word文档下载推荐.docx
- 文档编号:20746274
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:771.21KB
数字信号处理仿真设计Word文档下载推荐.docx
《数字信号处理仿真设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字信号处理仿真设计Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
%1.绘制信号x(t)的时域波形
t=0:
0.001:
0.4;
%设置连续信号的有关参数
A=input('
请输入A的值A:
'
);
a=input('
请输入a的值a:
w0=input('
请输入w0的值w0:
x=A*exp(-a*t).*sin(w0*t);
%不是周期函数
figure
(1)
subplot(2,1,1);
plot(t,x),gridon
title('
x(t)连续时间信号'
)
xlabel('
时间t'
ylabel('
幅度x(t)'
subplot(2,1,2);
axis([00.045-2160]);
调整后的x(t)连续时间信号'
%2.绘制各采样序列x(n)的时域波形
n=0:
64;
%定义序列的长度是64
T1=0.005;
T2=0.002;
T3=0.001;
T0=0.001;
x=A*exp(-a*n*T0).*sin(w0*n*T0);
y1=A*exp(-a*n*T1).*sin(w0*n*T1);
%是周期函数
y2=A*exp(-a*n*T2).*sin(w0*n*T2);
y3=A*exp(-a*n*T3).*sin(w0*n*T3);
figure
(2)
plot(n,x),gridon
x(n)连续时间信号'
stem(n,x),gridon%绘制序列x(n)的图形
x(n)离散时间信号'
figure(3)
subplot(3,1,1);
stem(n,y1),gridon
200Hz理想采样信号序列'
subplot(3,1,2);
stem(n,y2),gridon
500Hz理想采样信号序列'
subplot(3,1,3);
stem(n,y3),gridon
1000Hz理想采样信号序列'
)
%3.绘制各采样序列x(n)的幅度谱和相位谱
k=-32:
32;
W=(pi/16)*k;
%周期序列的傅里叶级数系数中旋转因子中的W
w=W/pi;
%坐标上的w,即此值是冲击函数刚好为1的点
Y1=y1*(exp(-j*pi/16)).^(n'
*k);
%周期序列的傅里叶变换函数,n'
是n的转置
figure(4)
plot(w,abs(Y1));
grid,xlabel('
w'
),ylabel('
幅度'
200Hz理想采样信号序列的幅度谱'
axis([-2201000]);
plot(w,angle(Y1));
幅角'
title('
200Hz理想采样信号序列的相位谱'
Y2=y2*(exp(-j*pi/16)).^(n'
figure(5)
plot(w,abs(Y2));
500Hz理想采样信号序列的幅度谱'
plot(w,angle(Y2));
500Hz理想采样信号序列的相位谱'
Y3=y3*(exp(-j*pi/16)).^(n'
figure(6)
plot(w,abs(Y3));
1000Hz理想采样信号序列的幅度谱'
plot(w,angle(Y3));
1000Hz理想采样信号序列的相位谱'
%4.用DFT对各长度为64的采样序列x(n)进行谱分析
M=0:
31;
N=0:
63;
L=0:
127;
X00K=fft(x,32);
%计算x的64点DFT
X01K=fft(x,64);
%计算x的128点DFT
X10K=fft(y1,32);
X11K=fft(y1,64);
X20K=fft(y2,64);
X21K=fft(y2,128);
X30K=fft(y3,32);
X31K=fft(y3,64);
figure(7)
stem(M,abs(X00K));
grid
on,xlabel('
K'
|X(K)|'
x(n)序列的32点DFT幅度谱'
stem(N,abs(X01K));
gridon,xlabel('
x(n)序列的64点DFT幅度谱'
figure(8)
stem(M,abs(X10K));
200Hz理想采样信号序列的32点DFT幅度谱'
stem(N,abs(X11K));
200Hz理想采样信号序列的64点DFT幅度谱'
figure(9)
stem(N,abs(X20K));
500Hz理想采样信号序列的64点DFT幅度谱'
stem(L,abs(X21K));
500Hz理想采样信号序列的128点DFT幅度谱'
figure(10)
stem(M,abs(X30K));
1000Hz理想采样信号序列的32点DFT幅度谱'
stem(N,abs(X31K));
1000Hz理想采样信号序列的64点DFT幅度谱'
波形为:
模拟信号x(t)的波形和0~30毫秒处
模拟信号x(t)采样后的图(因为N=TP*FS,所以采样64点)
模拟信号x(t)经不同频率采样后所得序列的图
结论:
采样频率为1000Hz时没有失真,500Hz时有横线,产生失真,200Hz时横线加长,失真增大。
说明采样频率越大,即采样点越多失真越小。
序列x(n)经傅里叶变化所得的幅度谱和相位谱
序列x(n)取不同区间长度进行DFT所得的幅度谱
从上面的图片可以看出,x(k)是x(ejw)在区间[0,2π]上的N点采样。
2、考察序列为x(n)=cos(0.48πn)+cos(0.52πn)。
%0≤n≤10时,用DFT估计x(n)的频谱
n=[0:
10];
x=cos(0.48*pi*n)+cos(0.52*pi*n);
y=fft(x);
%x(n)频谱n在0到10
stem(n,y);
title('
n在[0,10]时x(n)的频谱'
%将x(n)补零加长到长度为100点序列用DFT估计x(n)的频谱
xn=[x,zeros(1,90)];
%对xn补零
yn=fft(xn);
nn=[0:
100];
%x(n)频谱n在0到100
stem(nn,yn);
补零后的x(n)的频谱'
%0≤n≤100时,用DFT估计x(n)的频谱
n1=[0:
x1=cos(0.48*pi*n1)+cos(0.52*pi*n1);
%x(n)频谱n在0到100
y1=fft(x1);
stem(n1,y1);
n在[0,100]时x(n)的频谱'
利用DFT计算频谱时增加取样点的长度范围可以提高分辨率。
补零加长并不会改变频域的间隔,所以不能提高分辨率。
3、用DFT计算线性卷积。
%时域直接计算卷积
x1n=[211234];
x2n=[-122-169];
y=conv(x1n,x2n);
stem(x1n);
输入信号x1n[n]'
stem(x2n);
输入信号x2n[n]'
stem(y);
输出信号y[n]'
%用DFT计算卷积
M1=length(x1n);
M2=length(x2n);
N=M1+M2-1;
X1K=fft(x1n,N);
X2K=fft(x2n,N);
YCK=X1K.*X2K;
ycn=ifft(YCK,N);
stem(abs(X1K));
输入信号X1K]'
stem(abs(X2K));
输入信号X2K'
stem(abs(ycn));
输出信号ycn'
axis([111-100100]);
%用DFT计算6点卷积
X11K=fft(x1n,6);
X12K=fft(x2n,6);
Y1CK=X1K.*X2K;
y1n=ifft(YCK,6);
stem(abs(X11K));
用DFT计算6点卷积输入信号X11K]'
stem(abs(X12K));
用DFT计算6点卷积输入信号X12K'
stem(abs(y1n));
用DFT计算6点卷积输出信号y1n'
axis([123-100100]);
%用DFT计算12点卷积
X21K=fft(x1n,12);
X22K=fft(x2n,12);
Y2CK=X1K.*X2K;
y2n=ifft(YCK,12);
stem(abs(X21K));
用DFT计算12点卷积输入信号X21K]'
stem(abs(X22K));
用DFT计算12点卷积输入信号X22K'
stem(abs(y2n));
用DFT计算12点卷积输出信号y2n'
%用DFT计算3点卷积
X31K=fft(x1n,3);
X32K=fft(x2n,3);
Y3CK=X1K.*X2K;
y3n=ifft(YCK,3);
stem(abs(X31K));
用DFT计算3点卷积输入信号X31K]'
stem(abs(X32K));
用DFT计算3点卷积输入信号X32K'
stem(abs(y3n));
用DFT计算3点卷积输出信号y3n'
波形如下:
可以得出结论:
只有当N>
=M1+M2-1时,线性卷积的值等于用DFT计算的N点的循环卷积。
所计算的DFT的长度同,卷积结果不同,从另一方面证明了DFT和IDFT的唯一性。
时域直接计算卷积时的图
用DFT计算的卷积图
五、结果分析
1、利用DFT计算连续时间信号频谱,首先进行时域抽样,所得的抽样数据进行DFT计算,然后再将离散数据连续化,得到连续时间信号的频谱。
实现过程中应该注意时域抽样的间隔与长度,抽样不当将会丢失频率点,使计算出现错误。
2、采样频率越大,即采样点越多失真越小。
而在持续时间为T的连续信号采样时,最少采样点为N=TP*FS,并且由采样定理有FS>
=FC。
3、一个N点离散时间序列的傅里叶变换(DTFT)所得的频谱是以2π为周期延拓的连续函数。
由采样定理,时域进行采样,则频域周期延拓,同样在频域进行采样,则时域也会周期延拓。
DFT就基于这个理论,在频域进行采样,从而将信号的频谱离散化。
所以,一个N点离散时间信号可以用一个频域内一个N点序列来唯一确定,这就是DFT表达式所揭示的内容。
4、更长的时域信号能够提供更高的频域分辨率,因为一个N点的时域信号能被分解为N/2+1个余弦信号和N/2+1个正弦信号,N增大则(N/2+1)也增大,频域间隔(1/2的时域采样频率)/(N/2+1)减小,所以频域分辨率提高了。
所以利用DFT计算频谱时增加取样点的长度范围可以提高分辨率。
5、只有当N>
所计算的DFT的长度同,卷积结果不同,
六、调试总结:
1、Axis函数设置图形坐标。
2、Conv函数直接进行线性卷积运算。
3、Stem绘制离散图谱,plot用来绘制连续的函数图形。
5、fft进行fft运算。
七、设计总结:
通过这次的课程设计我们可以学的到很多的东西,不仅可以巩固以前所学过的知识,还可以学到很多在书本上所没有学到过的知识。
进一步加深了对数字信号处理的了解,让我对它有了更加浓厚的兴趣。
因为以前学过信号与系统,但这只是理论知识,通过实验我们才能真正理解其意义。
DFT的利用在以前的学习中也有接触,但是还是没有深刻理解,但是通过这次的仿真作业,我对DFT的原理有了更加深刻清楚的理解,同时还复习和加强了对MATLAB软件的使用。
在仿真的过程中我遇到了不少的问题的,比如刚开始,我对许多matlab软件的内置函数怎么用都不记得了,但是通过对课本的熟悉,又可以很好的运用其中的函数。
还有就是对DFT的原理理解的不是很清楚,所以仿真时边做边找资料,边学习,这样把理论与实际相结合,更能帮助理解和掌握知识。
总的来说,通过这次的课程设计我对数字信号处理的知识又有了深刻的理解,特别是对DFT的应用;
同时让我知道熟练的应用MATLAB可以很好的加深我对课程的理解,训练我的思维,使我们能非常直观的了解数字信号的处理结果。
这次仿真真的是受益匪浅,在这个过程中我更加了解了MATLAB的使用方法,学会用DFT分析频谱和计算卷积等,提高了我的分析和动手实践能力。
我相信,这才是老师布置此次作业的真正目的,懂得自己学习,自己总结,自己动手动脑,才能真正的学到知识和能力。
2011年5月8日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 仿真 设计