matlab验证时域采样定理实验报告

   通信原理实验报告

实验名称:    采样定理                

实验时间:   2012年12月11日         

指导老师:       应娜                 

学    院:   计算机学院               

班    级:         

学    号:                  

姓    名:                  


通信原理实验报告

一、实验名称

    MATLAB验证低通抽样定理

二、实验目的

1、掌握抽样定理的工作原理。

2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。

3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。

4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。

三、实验步骤

1、画出连续时间信号的时域波形及其幅频特性曲线,信号为

(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时,为原信号的欠采样信号和恢复,采样频率不满足时域采样定理,那么频移后的各相临频谱会发生相互重叠,这样就无法将他们分开,因而也不能再恢复原信号。频谱重叠的现象被称为混叠现象。

  fs=80Hz时采样信号离散波形及频谱

                    fs=80Hz恢复后信号波形及频谱

       fs=110Hz时原信号离散波形及频谱

fs=110Hz时采样信号离散波形及频谱

                     fs=140Hz时原信号离散波形及频谱

fs=110Hz时采样信号离散波形及频谱

(4)实验心得:

      通过本实验,认识Matlab这个功能强大的仿真软件,初步了解了Matlab的操作界面以及简单的程序语言和程序运行方式,通过具体的取样和恢复信号的过程,更加深刻了解了采样定理的定义的具体含义:将模拟信号转换成数字信号,即对连续信号进行等间隔采样形式采样,采样信号的频率是原连续信号的频谱以采样频率为周期的延拓形成的,通过MATLAB编程实现对抽样定理的验证,加深了抽样定理的理解。同时自己训练应用计算机分析问题的能力。

 

第二篇:基于matlab的采样定理验证

基于Matlab的采样定理验证

一. 实验目的

? 了解信号恢复的方法

? 验证采样定理

二. 实验环境

? Matlab应用软件

三. 实验原理

? 时域采样定理

? 对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期延拓形成的。

? 设连续信号的最高频为????,如果采样频率??≥2????,那么采样信号可以唯一恢复出原连续信号;否则会出现频谱混叠,信号无法完全恢复。 ? 设计原理图

? 时域采样与频域分析

对一连续信号?(?)进行理想采样可以表示为

?? ? =? ? ? ? =

?=?∞∞?=?∞?(??)?(????) 其中?? ? 为? ? 的理想采样,?(?)为周期脉冲信号,即 ? ? = ?(????)

由频域卷积定理,?? ? 的傅立叶变换为

∞??? ?? = ? ? ???? ?=?∞

其中?=2?/?,?(??)为?(?)的傅立叶变换。上式表明,?? ?? 为?(??)

基于matlab的采样定理验证

周期延拓。只有满足采样定理时,才不会发生频率混叠失真。

在实际计算中,常采用如下等价的公式进行计算

?? ?? =

? 信号恢复

这里信号恢复是指由?? ? 经过函数内插,恢复原始信号?(?)的过程,具体而言即

? ? =?? ? ??(?)

其中插值函数

? ? =?????(???) ∞?=?∞?(??)??????

其中??为低通滤波器的截止频率。将?? ? 和? ? 代入恢复公式,即得

∞??? ? =?? ? ?? ? =? ? ?? ??(??(????)) ?=?∞

上式即信号恢复的基本公式。

内插公式表明模拟信号?(?)等于各采样点数值乘以对应内插函数的总和,只要采样频率高于信号频率的两倍,模拟信号就可以用它的采样值表示,而不丢失任何信息。

四. 预习内容

? 采样定理

五. 实验内容

? 画出连续时间信号的时域波形,信号为

? ? =??? ??? ? ? +??? ?? ? ? +????(?? ? ?)

? 对信号进行采样,得到采样序列,画出采样频率分别为80Hz、120 Hz、150 Hz时的采样序列波形。

? 对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,并比较各频率下采样序列和幅频曲线的差别。

? 对原始信号进行频谱分析,将其与序列频谱分析的结果做比较。 ? 由采样序列恢复连续信号,画出时域波形,并与原始波形进行比较。

六. 思考题

? 为何频谱有旁瓣?

? 采样频率为120Hz时,为何不能无失真恢复?

七. 实验报告要求

? 绘制原信号的时域波形与频域幅频曲线。

? 分别以80Hz、120 Hz、150 Hz对原信号进行采样,绘制采样序列及其幅频曲线。

? 对采样序列进行插值恢复,绘制重构信号及其幅频曲线。

? 从时频两方面对恢复信号和原始信号进行比较,并得出结论。 ? 回答思考题。

附录

采样部分

function fz=sampling(fy,fs)

%fz是模拟信号,以字符串形式输入

%fs是采样频率

fs0=10000;tp=0.1;

t=[-tp:1/fs0:tp];

k1=0:9999;k2=-9999:-1;

m1=length(k1);m2=length(k2);

f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号频率数组

w=[-2*pi*k2/m2,2*pi*k1/m1];

fx1=eval(fy);

FX1=fx1*exp(-j*[1:length(fx1)]'*w);

figure

%画原始波形

subplot(211);plot(t,fx1,'r');

title('原始信号');xlabel('时间(s)');

axis([min(t),max(t),min(fx1),max(fx1)]);

line([min(t),max(t)],[0,0]);

%画原信号幅度谱

subplot(212);plot(f,abs(FX1),'r');

title('幅度谱');xlabel('频率(Hz)');

axis([-100,100,0,max(abs(FX1))+5]);

%对信号进行采样

ts=1/fs;

t1=-tp:ts:tp;

f1=[fs*k2/m2,fs*k1/m1];

t=t1;

fz=eval(fy);

FZ=fz*exp(-j*[1:length(fz)]'*w);

figure;

%画采样序列波形

subplot(211);stem(t,fz,'.');

title('采样信号');xlabel('时间(s)');

line([min(t),max(t)],[0,0]);

%画采样信号幅度谱

subplot(212);plot(f1,abs(FZ),'m');

title('采样信号幅度谱');xlabel('频率(Hz)');

-------------------------------------------------------------------

恢复部分

function fh=recons(fz,fs)

%第一个输入是采样序列

%第二个输入是采样频率

T=1/fs;dt=T/10;tp=0.1;

t=-tp:dt:tp;n=-tp/T:tp/T;

TMN=ones(length(n),1)*t-n'*T*ones(1,length(t));

fh=fz*sinc(fs*TMN); %由采样恢复原信号

k1=0:9999;k2=-9999:-1;

m1=length(k1);m2=length(k2);

w=[-2*pi*k2/m2,2*pi*k1/m1];

FH=fh*exp(-j*[1:length(fh)]'*w); %恢复信号的傅立叶变换

figure;

%画出恢复的波形

subplot(211);plot(t,fh,'g');

st=strcat('由取样频率',num2str(fs),'恢复');

title(st);xlabel('时间(s)');

axis([min(t),max(t),min(fh),max(fh)]); line([min(t),max(t)],[0,0]);

%画重构信号的幅度谱

f=[10*fs*k2/m2,10*fs*k1/m1];

subplot(212);plot(f,abs(FH),'g');

title('恢复信号的幅度谱');xlabel('频率(Hz)'); axis([-100,100,0,max(abs(FH))+2]);

相关推荐