当前位置: 首页 > ds >正文

数字信号处理实验二:时域采样与频域采样

一、实验目的

1.掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;

2.掌握频域采样会引起时域周期化的概念,以及频域采样定理及其对频域采样点数选择的指导作用。

二、实验内容

  本实验为验证性实验项目,要求通过利用MATLAB软件编写程序,绘制波形,对时域采样定理和频域采样定理进行验证。

三、实验器材(设备、元器件)

安装有MATLAB软件的计算机1台。

四、实验步骤

1. 时域采样理论的验证。给定模拟信号

                                         x_{a}(t) =Ae^{-at}sin(\Omega _{0}t)u(t)


式中,A=444.128 , a=50\sqrt{2}\pi ,  \Omega _{0}=50\sqrt{2}\pi rad/s,它的幅频特性曲线如图1所示。

                                  

                                                                        图1

  现用DFT求该模拟信号的幅频特性,以验证时域采样理论。

  按照Xa (t)的幅频特性曲线,选取三种采样频率,即Fs =1kHz,300Hz,200Hz。观测时间选Tp =64ms,验证时域采样理论。

  为使用DFT,首先用下面的公式产生时域离散信号,对三种采样频率、采样序列按顺序用x_{_{1}}(n)x_{_{2}}(n)x_{_{3}}(n)表示。

                                   x(n) = x_{a}(nT) = Ae^{-anT} sin(\Omega _{0}nT)U(nT)

因为采样频率不同,得到的x_{_{1}}(n)x_{_{2}}(n)x_{_{3}}(n)的长度不同,长度(点数)用公式N=Tp ×Fs 计算。选FFT的变换点数为M=64,序列长度不够64的尾部加零。

X(k)=FFT[x(n)]    k=0,1,2,3,…,M-1

式中,k代表的频率为

w_{k}=\frac{2\pi }{M}k

要求:编写实验程序,计算x1 (n)、x2 (n)、x3 (n)的幅度特性,并绘图显示。观察分析频谱混叠失真。

2. 频域采样理论的验证。给定信号如下:

                                 

编写程序分别对频谱函数X(e^{jw})=FT[x(n)] 在区间[0,2\pi ]上等间隔采样32点和16点,得到

                              

                             

再分别对 进行32点和16点IFFT,得到 :

                             

                             

分别画出 的幅度谱,并绘制显示 的波形,进行对比和分析,验证总结频域采样理论。

五、实验程序及结果分析

1. 时域采样理论验证:

Clear all;Tp=64/1000;%产生M长采样序列x(n)% Fs=1000;T=1/Fs;Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);  %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,1);tstem(xnt,yn);box on;title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])% Fs=300;T=1/Fs;Fs=300;T=1/Fs;M=ceil(Tp*Fs);n=0:M-1;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);  %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,3);tstem(xnt,yn);box on;title('(b) Fs=300Hz');k=0:M-1;fk=k/Tp;subplot(3,2,4);plot(fk,abs(Xk));title('(b) T*FT[xa(nT),Fs=300Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])% Fs=200;T=1/Fs;Fs=200;T=1/Fs;M=ceil(Tp*Fs);n=0:M-1;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M);  %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,5);tstem(xnt,yn);box on;title('(c) Fs=200Hz');k=0:M-1;fk=k/Tp;subplot(3,2,6);plot(fk,abs(Xk));title('(c) T*FT[xa(nT),Fs=200Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])function tstem(xn,yn)%时域序列绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1;stem(n,xn,'.');xlabel('n');ylabel(yn);axis([0,n(end),min(xn),1.2*max(xn)])end

  实验结果如下:

  结论分析:时域采样理论的验证结果如上图,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期进行延拓。当采样频率为1000Hz,300Hz时,频谱几乎不失真;当采样频率为200Hz时,频谱混叠失真比较严重;当采样频率为1000Hz 时频谱混叠很小;当采样频率为 300Hz 时,混叠很严重;当采样频率为200Hz 时,频谱混叠更严重。所以由此可知,采样频率必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。

2. 频域采样理论:

clear all;
% 频域采样理论验证
M=27;N=32;n=0:M;%产生M长三角波序列x(n)xa=0:floor(M/2);  xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,1024); %1024点FFT[x(n)],用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N);%隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2);%16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:1023;wk=2*k/1024;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域采样');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])

  实验结果如下:

  结论分析:上图验证了频域采样理论和频域采样定理。由上图知三角波序列长度为26,即时域离散信号长度M=26。对信号x(n)的频谱函数间隔采样N=16时,N点IDFT[ XN(k)]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列。由于N<M,所以发生了时域混叠失真,因此,xN(n)与x(n)不同。当N=32时,由于N>M,频域采样定理,所以不存在时域混叠失真,因此,xN(n)与x(n)相同,如果时域长为M,当 N≥M时,时域周期延拓后,主值区间的序列等于原序列,无失真。当N<M时,时域会有混叠失真,这时,只在M-N≤n≤ N-1范围内,没有混叠失真。

http://www.xdnf.cn/news/11372.html

相关文章:

  • 用VB操作Excel(VB6.0)(整理)
  • hao123电脑版主页_软件 | 流氓软件网站植入主页一览
  • 八数码与十五数码问题
  • Zencart网站搭建与配置教程
  • Http Header里的Content-Type
  • IE8的urlmon.dll总是崩溃的问题
  • H.264流媒体协议格式中的Annex B格式和AVCC格式深度解析
  • Grub命令使用详解[教程]
  • 25届华为机考笔试考的啥?如何通过机试|附全岗位真题库通关攻略
  • session.invalidate()无效的原因
  • adb server is out of date. killing完美解决
  • android应用跳文件管理,10款优秀Android文件管理器应用
  • java 访问cxf_java cxf 发布和访问
  • Apache的防盗链配置及详解
  • CVE-2010-3654分析及利用
  • 110个常用的jquery特效和插件
  • 监控摄像头参数详细介绍
  • 浅谈光耦的作用和工作原理
  • 机械制图手册_机械制图基本知识大全!
  • 微信小程序checkbox的排列方向
  • glPushMatrix/glPopMatrix简介及示例(在不同位置绘制图形)
  • 简单邮件传输协议(SMTP)
  • 【apache-tomcat安装配置】完整教程(保姆级)
  • MapX学习基本教程
  • 内存错误的原因和解决方法
  • Linux命令集(Linux文件管理命令--rm指令篇)
  • Android 开发环境搭建的步骤
  • 2024年最全Android修改PackageInstaller自动安装指定应用(3),面试被说跳槽频繁
  • 戴尔服务器安装windows server 2016提示:安装无法找到install.wim 错误代码0x80070026
  • 自动生成--Delphi多层数据库应用项目源代码