实验二 时域采样与频域采样及MATLAB程序
- 格式:doc
- 大小:304.00 KB
- 文档页数:7
目录第1章摘要 (1)第2章基本原理 (2)第3章实验步骤.....................................................................5第4章 MATLAB实现编程 (5)第5章实验结果与分析 (8)5、1程序分析………………………………………………………………85、2信号得波形及幅度频谱 (8)5、3 结果分析 (9)第6章总结...........................................................................12参考文献 (13)第1章摘要一、数字信号处理数字信号处理就是将信号以数字方式表示并处理得理论与技术。
数字信号处理与模拟信号处理就是信号处理得子集.数字信号处理得目得就是对真实世界得连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理得输出经常也要变换到模拟域,这就是通过数模转换器实现得。
数字信号处理得算法需要利用计算机或专用处理设备。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都就是模拟信号处理技术与设备所无法比拟得。
数字信号处理得核心算法就是离散傅立叶变换(DFT),就是DFT使信号在数字域与频域都实现了离散化,从而可以用通用计算机处理离散信号。
而使数字信号处理从理论走向实用得就是快速傅立叶变换(FFT),FFT得出现大大减少了DFT得运算量,使实时得数字信号处理成为可能、极大促进了该学科得发展。
随着大规模集成电路以及数字计算机得飞速发展,加之从60年代末以来数字信号处理理论与技术得成熟与完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。
随着信息时代、数字世界得到来,数字信号处理已成为一门极其重要得学科与技术领域.二、实验目得本次课程设计应用MATLAB验证时域采样定理。
实验一 MATLAB 验证低通抽样定理一、实验目的1、掌握抽样定理的工作原理。
2、通过MATLAB 编程实现对抽样定理的验证,加深抽样定理的理解。
同时训练应用计算机分析问题的能力。
3、了解MATLAB 软件,学习应用MATLAB 软件的仿真技术。
它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。
4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。
二、实验预习要求1、复习《数字通信原理》中有关抽样定理的章节;2、复习《数字通信原理》中有关PCM 的章节;;3、认真阅读本实验内容,熟悉实验步骤。
三、实验环境PC 电脑,MA TLAB 软件四、基本原理(1)时域采样定理1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。
2、设连续信号的的最高频率为max F ,如果采样频率max 2F F s >,那么采样信号可以唯一的恢复出原连续信号,否则max 2F F s ≤会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。
(2)设计原理图(3)信号的时域采样与频谱分析对一个连续信号a f (t)进行理想采样的过程可以用下式表示)()()(^t s t f t f a a = (1)其中)(^t f a 为)(t f a 的理想采样,s(t)为周期脉冲信号,即 ∑∞-∞=-=n nT t t s )()(δ(2) )(^t f a 的傅里叶变换)(^Ωj F a 为∑∞-∞=Ω-Ω=Ωm saa m j F Tj F )]([1)(^(3)上式表明,)(^Ωj F a 为)(Ωj F a 的周期延拓,其延拓周期为采样角频率(s Ω=2π/T )。
只有满足采样定理时,才不会发生频率混叠失真。
在计算机上用高级语言编程,直接按照(3)式计算)(^t f a 的频谱)(^Ωj F a 很不方便,下面导出用序列的傅里叶变换来计算)(^Ωj F a 的公式。
实验二 MATLAB用于时域分析一、实验目的通过使用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
二、实验原理在MATLAB中,可以通过单输入单输出系统的传递函数,进行系统的脉冲响应,阶跃响应以及一般输入响应等时域分析。
用到以下函数:单位阶跃响应 step(num,den,t)单位脉冲响应impluse(num,den,t)一般输入响应 y=Isim(num,den,u,t)时间t是事先定义的矢量,u为输入信号。
此外,还可以求出系统的超调量,调节时间以及稳态误差。
SIMULINK是MATLAB的一个附加组件,用来提供一个系统的建模、动态仿真及综合分析的工作平台。
SIMULINK模型可以用来模拟线性或非线性、连续或离散,或者两者混合的系统,即可用它来模拟几乎所有的动态系统。
三、实验内容通过MATLAB以及其中的SIMULINK完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
四、实验代码1、一阶系统响应sys1=tf([100],[1 0]);sys2=tf([0.1],[1]);sys=feedback(sys1,sys2);step(sys)2、二阶系统响应wn=1t=0:0.1:12;num=[1];zeta1=0;den1=[1 2*zeta1 1];zeta3=0.3;den3=[1 2*zeta3 1];zeta5=0.5;den5=[1 2*zeta5 1];zeta7=0.7;den7=[1 2*zeta7 1];zeta9=1.0;den9=[1 2*zeta9 1];[y1,x,t]=step(num,den1,t);[y3,x,t]=step(num,den3,t);[y5,x,t]=step(num,den5,t);[y7,x,t]=step(num,den7,t);[y9,x,t]=step(num,den9,t);plot(t,y1,t,y3,t,y5,t,y7,t,y9)grid on;3、稳定性分析den=[1 1 2 24];roots(den)4、求动态性能指标t=0:0.01:2;num=[1000]';den=[1 34.5 1000];[y,x,t]=step(num,den,t);plot(t,y);maxy=max(y);yes=y(length(t));pos=100*(maxy-yes)/yesfor i=1:1:201if y(i)==maxy,n=i;endendtp=(n-1)*0.01for i=1:1:201if(y(i)<1.05&y(i)>0.95),n=i;endbreak;endts=(n-1)*0.015、稳态误差分析t=0:0.1:15;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=impulse(num1,den1,t);y2=impulse(num2,den2,t);y3=impulse(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=0-y1(length(t))er2=0-y2(length(t))er3=0-y3(length(t))6、求单位阶跃响应及其稳态误差t=0:0.1:20[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,den1,t);y2=step(num2,den2,t);y3=step(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=1-y1(length(t));er2=1-y2(length(t));er3=1-y3(length(t));7、求单位斜坡响应及其稳态误差t=0:0.1:20;t1=0:0.1:100;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,[den1 0],t1);y2=step(num2,[den2 0],t);y3=step(num3,[den3 0],t);subplot(311);plot(t1,y1,t1,t1);subplot(312);plot(t,y2,t,t);subplot(313);plot(t,y3,t,t);er1=t1(length(t1))-y1(length(t1))er2=t(length(t))-y2(length(t))er3=t(length(t))-y3(length(t))8、实例分析kp=[0.11 6];t=[0:0.01:1];num1=303.03*kp(1);den1=[0.00001 0.00633 0.20167 21.21*kp(1)+1];y1=step(num1,den1,t);num2=303.03*kp(2);den2=[0.00001 0.00633 0.20167 21.21*kp(2)+1];y2=step(num2,den2,t);subplot(211);plot(t,y1);subplot(212);plot(t,y2);gtext('kp=0.11');gtext('kp=6');9、SIMULINK用于系统仿真五、实验结果1、一阶系统响应2、二阶系统响应3、稳定性分析4、求动态性能指标5、稳态误差分析6、求单位阶跃响应及其稳态误差7、求单位斜坡响应及其稳态误差8、实例分析9、SIMULINK用于系统仿真六、实验总结通过本次实验实现了用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。
(一)时域采样及其频谱一.实验目的:1.熟悉Matable的实验环境,并学会如何利用其进行对信号处理进行图形分析.2.编程计算于模拟信号的连续频谱和离散采样信号的连续频谱,实现时域采样及其频谱分析,充分理解时域采样的特点及定理,并在实验过程中体会奈奎斯定理. 二.实验环境: MA TABE软件平台三.实验步骤:(一)进入MA TABE编程1.启动MATABLE,进入命令窗口,点击File-New-M-File,进入M文件的编辑窗口,进行M文件的编程和调试.2.利用系统提供的各种函数或自编函数进行编程.3.学会使用Help在线查询.(二)Sa2的编程及上机运行观察并分析结果.编程思路:(1)原模拟信号为Xa(t)=A*exps(-at)*sin(*O. t)*u (t).当fs足够大时可以逼近模拟信号.同样对于模拟信号的连续频谱和离散采样信号的连续频谱也要自编计算离散傅立叶级数的子程序dtft()函数来计算连续频谱.(2)采样间隔直接用赋值语句设定.(3)绘图时先用supplot()函数进行多个子图的布局规划,再分别用stem()函数画离散信号的杆状图和用plot()函数画连续频谱波形的曲线图.(三)实验内容及程序分析:sa2%时域采样及其频谱clear;close all; %内部命题语句:清除内存,关闭所有窗口fs=10000;fs1=1000;fs2=300;fs3=200; %fs20倍高速逼近,fs1不混逆正常逼近,fs2,3混逆逼近t=0:1/fs:0.1; %采样时间为0到0.1s,长度为0.1s,间隔1/fs即1/10000n1=0:1/fs1:0.1;n2=0:1/fs2:0.1;n3=0:1/fs3:0.1;%长度0.1,间隔分别为1/1000,1/300,1/200。
A=444.128;a=50*sqrt(2)*pi; b=a; %A为模拟信号弧度,a角频率xa=exp(-a*t).*sin(b*t); %正弦振荡模拟信号高速数字逼近采样,xa为运算对象.k=0:511;f=fs*k/512; %频谱分点长度为512.Xa=dtft(xa,2*pi*k/512); % dtft为高速采样,计算连续采样序列的连续频率. 512 个划度划分,数字角频率为2*pi*k/512.T1=1/fs1;t1=0:T1:0.1; %T1第一个采样信号的间隔,是频率fs1的倒数;t1为采样时间从0到0.1s间隔为T1.x1=A*exp(-a*t1).*sin(b*t1); % 离散采样X1=dtft(x1,2*pi*k/512); %计算x1的离散采样序列的连续频谱T2=1/fs2;t2=0:T2:0.1;x2=A*exp(-a*t2).*sin(b*t2);X2=dtft(x2,2*pi*k/512);T3=1/fs3;t3=0:T3:0.1;x3=A*exp(-a*t3).*sin(b*t3);X3=dtft(x3,2*pi*k/512);figure(1); %另开窗口subplot(4,2,1);第一个图象,,4行2列.plot(t,xa); %画出原始波形axis([0,max(t),min(xa),max(xa)]); %时间坐标设定语句,X轴起点为0终点为max(t);Y轴的起点为min(xa),终点为max(xa).title('模拟信号');xlabel('t');ylabel('Xa(t)'); %横坐标标t,纵坐标标Xa(t).line([0,max(t)],[0,0]); %行排列最小为0最大为max(t),纵坐标不变.subplot(4,2,2);plot(f,abs(Xa)/max(abs(Xa)));%第二个图.画规划频谱图axis([0,500,0,1]);title('模拟信号的幅度谱');xlabel('f(Hz)');ylabel('|Xa(jf)|');subplot(4,2,3);stem(n1,x1,'.');%第三个图,stem画棒状图,顶端是".",如果不注明则是"。
实验一 时域采样与频域采样定理的验证实验1. 实验目的(1) 时域采样理论与频域采样理论是数字信号处理中的重要理论。
要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;(2) 要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。
2. 实验原理与方法时域采样定理的要点是:① 对模拟信号()a x t 以T 进行时域等间隔理想采样,形成的采样信号的频谱 会以采样角频率Ωs (Ωs=2π/T )为周期进行周期延拓。
公式为② 采样频率Ωs 必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。
利用计算机计算上式并不方便,下面我们导出另外一个公式,以便在计算机上进行实验。
理想采样信号 和模拟信号()a x t 之间的关系为:对上式进行傅里叶变换,得到:上式中,在数值上x a (nT)=x(n),再将ω=ΩT 代入,得到:上式的右边就是序列的傅里叶变换,即上式说明采样信号的傅里叶变换可用相应序列的傅里叶变换得到,只要将自变量ω用ΩT 代替即可。
频域采样定理的要点是:① 对信号x(n)的频谱函数在[0,2π]上等间隔采样N 点,得到:ˆ(j )a X Ωa a a s 1ˆˆ(j )FT[()](j j ) k X xt X k T ΩΩΩ∞=-∞==-∑a ˆ()x t a a ˆ()()()n xt x t t nT δ∞=-∞=-∑j a aˆ(j )[()()]e d t n X x t t nT t ΩΩδ∞∞--∞=-∞=-∑⎰j a ()()e d t n x t t nT tΩδ∞∞--∞=-∞-∑⎰=j aaˆ(j )()enTn X x nT ΩΩ∞-=-∞=∑j aˆ(j )(e )TX X ωωΩΩ==j 2π()(e ), 0,1,2,,1N kNX k X k N ωω===-则N 点IDFT [X N (k)]得到的序列就是原序列x(n)以N 为周期进行周期延拓后的主值区序列,公式为② 由上式可知,频域采样点数N 必须大于等于时域离散信号的长度M(即N ≥M),才能使时域不产生混叠,则N 点IDFT [X N (k)]得到的序列x N (n)就是原序列x(n), 即x N (n)=x(n)。
数字信号处理实验二采样定理梧州学院实验报告实验课程:数字信号处理实验名称:采样定理实验时间:2021.12.8实验设备:带有MATALAB软件的pc机实验目的:利用利用实验一的程序结果比如正弦信号对采样定理进行验证,深刻理解采样定理实验内容:简要介绍实验涉及的理论知识(原理)奈奎斯特抽样定理指若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。
抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。
抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。
内容:1、画出连续时间信号的时域波形及其幅频特性曲线,信号为f(t)=sin(2?pi?100t)+sin(2pi?600t)要求:DFT分析连续信号的频谱ff),信号持续时间Tp为0.1,?信号的采样1500Hz,2、对信号进行采样,得到采样序列,画出采样频率分别为500Hz,?1200?Hz,?1800Hz时的采样序列波形;fs0=1500;%采样频率为1500Hzfs1=500;%采样频率为500Hzfs2=1200;%采样频率为1200Hzfs3=1800;%采样频率为1800HzTp=0.1;%时间间隔为0.1sn0=0:Tpfs0;t0=1/fs0;%取值长度为Tpfs0,间隔为1/fs0n1=0:Tpfs1;t1=1/fs1;%取值长度为Tpfs1,间隔为1/fs1n2=0:Tpfs2;t2=1/fs2;%取值长度为Tpfs2,间隔为1/fs2n3=0:Tpfs3;t3=1/fs3;%取值长度为Tpfs3,间隔为1/fs3x0=sin(2pi100t0n0)+sin(2pi600t0n0);x1=sin(2pi100t1n1)+sin(2pi600t1n1);x2=sin(2pi100t2n2)+sin(2pi600t2n2);x3=sin(2pi100t3n3)+sin(2pi600t3n3);figure;subplot(411);%4行1列第一个图plot(n0,x0);title(''连续时间信号x0'');%绘制连续时间信号x0的波形subplot(412);%4行1列第二个图plot(n1,x1);title(''连续时间信号x1'');subplot(413);%4行1列第三个图plot(n2,x2);title(''连续时间信号x2'');subplot(414);%4行1列第四个图plot(n3,x3);title(''连续时间信号x3'');xk1500=fft(x0);xk500=fft(x1);xk1200=fft(x2);xk1800=fft(x3);wk1500=(0:(Tpfs0)/2-1)(1/Tp);wk500=(0:(Tpfs1)/2-1)(1/Tp);wk1200=(0:(Tpfs2)/2-1)(1/Tp);wk1800=(0:(Tpfs3)/2-1)(1/Tp);figure;subplot(411);plot(wk1500,(1/fs0) abs(xk1500(1:length(xk1500)/2)));title(''原始信号的频谱f0=1500'');subplot(412);plot(wk500,(1/fs1)abs(xk500(1:length(xk500)/2)));title(''原始信号的频谱f1=500'');subplot(413);plot(wk1200,(1/fs2)abs(xk1200(1:length (xk1200)/2)));title(''原始信号的频谱f2=1200'');subplot(414);plot(wk1800,(1/fs3)abs(xk1800(1:length(xk1800)/2)));title(''原始信号的频谱f3=1800'');对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列的幅频曲线有无差别。
实验二:时域采样与频域采样一、 实验目的掌握模拟信号采样前后的频谱变化,以及如何选择采样频率才能使采样后信号不丢失信息;掌握频域采样会引起时域周期化概念,已经频域采样定理及其对频域采样点数选择的指导作用。
二、 实验原理与方法 时域采样定理: (1) 时域采样:对模拟信号Xa (t )以T 进行时域等间隔理想采样,形成的采样信号频谱会以采样角频率Ωs=2Π/T 为周期进行周期延拓,且采用频率Ωs 要大于等于模拟信号最高频率两倍以上,才能使采样信号不会频谱失真。
理想采样信号进行傅里叶变换后,有ˆ()()jn Taan X j x nT e+∞-Ω=-∞Ω=∑,在数值上()()a x nT x n =,再将T ω=Ω代入,得到:ˆ()()()jn j aaTTn X j x n eX e ωωωω+∞-=Ω=Ω=-∞Ω==∑上式说明采样信号的傅里叶变换可用相应序列的傅里叶变换得到,只要将自变量ω用T Ω代替即可。
(2) 频域采样:对信号()x n 的频谱函数()j X e ω在[0,2π]上等间隔采样N 点,得到2()()j k NX k X e ωπω== 0,1,2,,1k N =-即N 点[()]IDFT X k 得到的序列就是原序列()x n 以N 为周期进行周期延拓后的主值序列,公式为: ()[()][()]()N N Ni x n IDFT X k x n iN Rn +∞=-∞==+∑频率域采样要使时域不发生混叠,则频域采样点数N 必须大于等于时域离散信号的长度M (即N M ≥)。
在满足频率域采样定理的条件下,()N x n 就是原序列()x n 。
总之为“时域采样频谱周期性延拓,频域采样时域信号周期延拓”。
三、 实验内容及实验结果 1 时域采样定理的验证(1)给定模拟信号0()sin()()ta x t Aet u t α-=Ω,式中,A=444.128,α=,0/rad s Ω=,用DFT (FFT )求该模拟信号的幅频特性。
通信原理试验汇报试验名称: 采样定理试验时间: 12月11日指导老师: 应娜学院: 计算机学院班级:学号:姓名:通信原理试验汇报一、试验名称MATLAB验证低通抽样定理二、试验目1、掌握抽样定理工作原理。
2、经过MATLAB编程实现对抽样定理验证, 加深抽样定理了解。
同时训练应用计算机分析问题能力。
3、了解MATLAB软件, 学习应用MATLAB软件仿真技术。
它关键侧重于一些理论知识灵活利用, 以及部分关键命令掌握, 了解, 分析等。
4、计算在临界采样、过采样、欠采样三种不一样条件下恢复信号误差, 并由此总结采样频率对信号恢复产生误差影响, 从而验证时域采样定理。
三、试验步骤1、画出连续时间信号时域波形及其幅频特征曲线, 信号为f(x)=sin(2*pi*80*t)+ cos(2*pi*30*t);2、对信号进行采样, 得到采样序列 , 画出采样频率分别为80Hz, 110 Hz, 140 Hz 时采样序列波形;3、对不一样采样频率下采样序列进行频谱分析, 绘制其幅频曲线, 对比各频率下采样序列和幅频曲线有没有差异。
4、对信号进行谱分析, 观察与3中结果有没有差异。
5、由采样序列恢复出连续时间信号 , 画出其时域波形, 对比与原连续时间信号时域波形。
四、数据分析(1)部分程序分析:f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号频率数组axis([min(t),max(t),min(fx1),max(fx1)]) %画原信号幅度频谱f1=[fs*k2/m2,fs*k1/m1]; %设置采样信号频率数组fz=eval(fy); %获取采样序列FZ=fz*exp(-j*[1:length(fz)]'*w); %采样信号离散时间傅里叶变换TMN=ones(length(n),1)*t-n'*T*ones(1,length(t));fh=fz*sinc(fs*TMN); %由采样信号恢复原信号(2)原信号波形与幅度频谱:fs=80Hz时原信号离散波形及频谱(3)结果分析:1、频率sf<max2f时, 为原信号欠采样信号和恢复, 采样频率不满足时域采样定理, 那么频移后各相临频谱会发生相互重合, 这么就无法将她们分开, 所以也不能再恢复原信号。
实验2 信号的时域运算及matlab 实现一.实验目的:1. 了解连续时间信号的各种运算;2. 了解离散时间信号的各种运算;二.实验原理:1. 连续信号的时域运算采用符号运算的方法可以简便地实现连续信号的时域运算,下面是实现信号相加的matlab 命令s=symadd(f1,f2)ezplot(s)另外,symmul(f1,f2)可实现信号的相乘;subs(f,t,a)命令则是将连续信号中的时间变量t 用a 替换。
例如,subs(f,t,a-a0)可将f(t)移位到f(a-a0)。
2.离散序列的时域运算对于离散序列来说,序列相加、相乘是将两序列对应时间序号的值逐项相加或相乘。
若两序列不等长,则需通过补零的方式成为同维数的序列。
例如两序列相加的子函数如下:function [f,k]=sigadd(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;s1(find(k>min(k1)&(k<max(k1))==1))=f1;s2(find(k>min(k2)&(k<max(k2))==1))=f2;f=s1+s2;stem(k,f)三.实验内容:1.信号()()()[]321--⎪⎭⎫ ⎝⎛+=t t t t f εε,用matlab 绘出()()()(),2,,2,2t f t f t f t f --+ ()t f -的时域波形。
2.编写实现序列相乘sigmul(f1,f2,k1,k2),序列反折sigfold(f,k),序列平移sigshift(f,k,k0),序列倒相sigfoldph(f,k)的子函数。
3.利用2中的函数完成:(1) 已知()⎩⎨⎧≤≤-=其他,033,2k k f k ,绘出离散序列及反折后的波形;(2) 已知()⎩⎨⎧≤≤-=其他,044,2k k k f ,绘出离散序列()()2,-k f k f 及反折后的波形;四.实验报告要求:1.列出实验内容中1,2的程序清单;1.function display()syms tf=(1+t/2)*(heaviside(t)-heaviside(t-3)) f_1=subs(f,t,t+2)f_2=subs(f,t,t-2)f_3=subs(f,t,-t)f_4=subs(f,t,2*t)f_5=-fsubplot(2,3,1)ezplot(f)title('f(t)')subplot(2,3,2)ezplot(f_1)title('f(t+2)')subplot(2,3,3)ezplot(f_2)title('f(t-2)')subplot(2,3,4)ezplot(f_3)title('f(-t)')subplot(2,3,5)ezplot(f_4)title('f(2t)')subplot(2,3,6)ezplot(f_5)title('-f(t)')函数调用:display()2.程序代码function [f,k]=sigmul(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;s1(find(k>=min(k1)&(k<=max(k1))==1))=f1;s2(find(k>=min(k2)&(k<=max(k2))==1))=f2;f=s1.*s2;subplot(1,3,1)stem(k1,f1)title('f1-k1')subplot(1,3,2)stem(k2,f2)title('f2-k2')subplot(1,3,3)stem(k,f)title('sigmul(f1,f2,k1,k2)')调用程序:f1=[1 2 3 4 5];f2=[4 4 3 3 5 5 6 7];k1=[2 3 4 5 6];k2=[1 2 3 4 5 6 7 8] ;[f,k]=sigmul(f1,f2,k1,k2)图形:function sigfold(f,k)k1=-ksubplot(1,2,1)stem(k,f)subplot(1,2,2)stem(k1,f)调试:f=[2 4 6 7];k=[1 2 3 4];sigfold(f,k)图形:序列平移:程序代码function sigshift(f,k,k0)k1=k-k0*ones(1,length(k)) subplot(1,2,1)stem(k,f)title('f(k)')subplot(1,2,2)stem(k1,f)title('f(k+k0)')调试:k=[2 3 4 5 6];f=[9 8 7 6 5];k0=4;sigshift(f,k,k0)结果:序列倒相function sigfoldph(f,k)f1=-fsubplot(1,2,1)stem(k,f)title('f(k)')subplot(1,2,2)stem(k,f1)title('-f(k)')调试:k=[2 3 4 5 6]; f=[9 8 7 6 5]; sigfoldph(f,k)2.绘出实验内容3 的图形;(1)k=-10:10f=zeros(1,length(k))f(8:14)=2.^k(8:14)sigfold(f,k)(2)k=-10:10f=zeros(1,length(k))f(7:15)=k(7:15).^2figure(1)sigfold(f,k)figure(2)sigshift(f,k,-2)。
实验二 时域采样与频域采样 一 实验目的 1 掌握时域连续信号经理想采样前后的频谱变化,加深对时域采样定理的理解 2 理解频率域采样定理,掌握频率域采样点数的选取原则
二 实验原理 1 时域采样定理
对模拟信号()axt以T进行时域等间隔采样,形成的采样信号的频谱ˆ()aXj
会以采样角频率2()ssT为周期进行周期延拓,公式为: 1ˆˆ()[()]()
aaasnXjFTxtXjjnT
利用计算机计算上式并不容易,下面导出另外一个公式。 理想采样信号ˆ()axt和模拟信号()axt之间的关系为:
ˆ()()()aanxtxttnT 对上式进行傅里叶变换,得到: ˆ()[()()()()jtjtaaannXjxttnTedtxttnTedt
在上式的积分号内只有当tnT时,才有非零值,因此: ˆ()()jnTaanXjxnTe
上式中,在数值上()()axnTxn,再将T代入,得到: ˆ()()()jnjaaTTnXjxneXe
上式说明采样信号的傅里叶变换可用相应序列的傅里叶变换得到,只要将自变量用T代替即可。
2 频域采样定理
对信号()xn的频谱函数()jXe在[0,2]上等间隔采样N点,得到 2()()jkNXkXe 0,1,2,,1kN
则有: ()[()][()]()NNNixnIDFTXkxniNRn 即N点[()]IDFTXk得到的序列就是原序列()xn以N为周期进行周期延拓后的主值序列, 因此,频率域采样要使时域不发生混叠,则频域采样点数N必须大于等于时域离散信号的长度M(即NM)。在满足频率域采样定理的条件下,()Nxn就是原序列()xn。如果NM,则()Nxn比原序列()xn尾部多NM个零点,反之,时域发生混叠,()Nxn与
()xn不等。
对比时域采样定理与频域采样定理,可以得到这样的结论:两个定理具有对偶性,即“时域采样,频谱周期延拓;频域采样,时域信号周期延拓”。在数字信号处理中,都必须服从这二个定理。
三 实验内容 1 时域采样定理的验证 给定模拟信号0()sin()()taxtAetut,式中,A=444.128,502,0502/rads,其幅频特性曲线如下图示:
05010015020025030035040045050000.20.40.60.81
f/Hz|xa(jf)|
xa(t)的幅频特性曲线
选取三种采样频率,即1sFkHz,300Hz,200Hz,对()axt进行理想采样,得到采
样序列:0()()sin()()nTaxnxnTAenTunT。观测时间长度为64pTms。分别绘出三种采样频率得到的序列的幅频特性曲线图,并进行比较。 2 频域采样定理的验证
给定信号:1013()2714260nnxnnnothers,对()xn的频谱函数()jXe在 [0,2]上分别等间隔采样16点和32点,得到16()Xk和32()Xk,再分别对16()Xk
和32()Xk进行IDFT,得到16()xn和32()xn。分别画出()jXe、16()Xk和32()Xk的幅度谱,并绘图显示()xn、16()xn和32()xn的波形,进行对比和分析。 四 思考题 如果序列()xn的长度为M,希望得到其频谱()jXe在[0,2]上N点等间隔采样,当NM时,如何用一次最少点数的DFT得到该频谱采样? 五 实验报告及要求 1 编写程序,实现上述要求,打印要求显示的图形 2 分析比较实验结果,简述由实验得到的主要结论 3 简要回答思考题 4 附上程序清单和有关曲线 %时域采样 Tp=128/1000;%观测时间128ms Fs=1000; T=1/Fs; %采样频率1KHz M=Tp*Fs;%取样点数128点 n=0:M-1;t=n*T; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*t).*sin(omega*t); Xk=T*fft(xnt,M); %M=128点FFT[xnt] subplot(4,2,1); plot(n,xnt); xlabel('t');ylabel('xa(t)'); title('原信号波形'); k=0:M-1; wk=k/(Tp*Fs); %归一化处理 subplot(4,2,2);plot(wk,abs(Xk));title('T*FT[xa(nT)],Fs=1KHz幅频特性'); xlabel('w/\pi');ylabel('幅度(H1(jf))'); Tp=64/1000;%观测时间64ms Fs=1000; T=1/Fs; %采样频率1KHz M=Tp*Fs;%取样点数64点 n=0:M-1;t=n*T; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*t).*sin(omega*t); Xk=T*fft(xnt,M); %M=64点FFT[xnt] subplot(4,2,3); stem(n,xnt,'.'); xlabel('n');ylabel('xa(nT)'); title('Fs=1KHz采样序列'); k=0:M-1; wk=k/(Tp*Fs); subplot(4,2,4);plot(wk,abs(Xk));title('T*FT[xa(nT)],Fs=1KHz幅频特性'); xlabel('w/\pi');ylabel('幅度(H1(jf))'); Fs=300;T=1/Fs; M=Tp*Fs;n=0:M-1;t=n*T; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*t).*sin(omega*t); Xk=T*fft(xnt,M); subplot(4,2,5); stem(n,xnt,'.'); xlabel('n');ylabel('x2(n)'); title('Fs=300Hz采样序列'); k=0:M-1; wk=k/(Tp*Fs); subplot(4,2,6);plot(wk,abs(Xk));title('T*FT[xa(nT)],Fs=300Hz幅频特性'); xlabel('w/\pi');ylabel('(H2(jf))'); Fs=200;T=1/Fs; M=Tp*Fs;n=0:M-1;t=n*T; A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*t).*sin(omega*t); Xk=T*fft(xnt,M); subplot(4,2,7); stem(n,xnt,'.'); xlabel('n');ylabel('x3(n)'); title('Fs=200Hz采样序列'); k=0:M-1; wk=k/(Tp*Fs); subplot(4,2,8);plot(wk,abs(Xk));title('T*FT[xa(nT)],Fs=200Hz幅频特性'); xlabel('w/\pi');ylabel('(H3(jf))'); %频域采样 M=27;N=32;n=0:M; xn=(n>=0&n<=13).*(n+1)+(n>=14&n<=26).*(27-n); %产生x(n) Xk=fft(xn,1024); %1024点FFT[x(n)] X32k=fft(xn,32); %32点FFT[x(n)] x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n) X16k=X32k(1:2:N); %隔点抽取X32(k)得到X16(k) x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n) k=0:1023; wk=2*k/1024; %连续频谱图的横坐标取值 subplot(3,2,1); plot(wk,abs(Xk)); title('FT[x(n)]'); xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200]); subplot(3,2,2); stem(n,xn,'.'); title('三角波序列x(n)'); xlabel('n');ylabel('x(n)');axis([0,32,0,20]) k=0:N/2-1; %离散频谱图的横坐标取值 subplot(3,2,3);stem(k,abs(X16k),'.');title('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,'.');title('16IDFT[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),'.');title('32点频域采样'); xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200]) n1=0:N-1; subplot(3,2,6);stem(n1,x32n,'.');title('32IDFT[X_3_2(k)]'); xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])