基于Matlab的低通抽样定理仿真
DSP 课 程 设 计
专业: 电子信息技术工程 年级: 2011级 姓名: 陈兰兰 学号: 20113015 指导教师: 刘 德 春
阿坝师专电子信息工程系
DSP 课 程 设 计
专业: 电子信息技术工程 年级: 2011级 姓名: 宋雨娟 学号: 20113008 指导教师: 刘 德 春
阿坝师专电子信息工程系
基于Matlab 的低通抽样定理仿真
(中文题目一般不超过20个字)
(1. 海军航空工程学院 山东 烟台 264001 2.海军装备研究院 北京 100161)
(单位格式一般为:单位名称 省 市 邮编)
摘 要: 基于Matlab 的低通抽样定理目的, 通过对连续信号进行采样,在满足采样定理和不满足采用定理两种情况下对连续信号和采样信号进行FFT 频谱分析的方法, 通过从采样信
号中恢复原信号,对不同采样频率下的恢复信号进行比较分析的试验, 得到原信
号的结论.
关键词:Matlab; 低通抽样定理; 采样定理; 连续信号; 恢复信号.
引言
随着信息、通信、计算机科学与技术的迅速发展,数字信号处理得到了很快发展,因此,对低通抽样定理的要求也越来越高。低通抽样定理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。即通过低通抽样定理来进行模拟域与数字域的转换。低通抽样定理的核心是抽样与信号的恢复。使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT 的出现大大减少了DFT 的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。
1、 测试需求分析
本次课程设计应用MATLAB 验证时域采样定理。了解MATLAB 软件,学习应用MATLAB 软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解 分析等。初步掌握线性系统的设计方法,培养独立工作能力。加深理解时域采样定理的概念, 掌握利用MATLAB 分析系统频率响应的方法和掌握利用MATLAB 实现连续信号采样、频谱分析和采样信号恢复的方法。计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。
2. 采样定理:
设连续信号x a (t ) 属带限信号,最高截止频率为Ωc ,如果采样角频率Ωs ≥2Ωc ,那么让采样性信号x a (t ) 通过一个增益为T 、截止频率为Ωs /2的理想低通滤波器,可以唯一地恢复出原连续信号x a (t ) 。否则,Ωs
对连续信号进行等间隔采样形成采样信号,对其进行傅里叶变换可以发现采样信号的频谱是原连续信号的频谱以采样频率Ωs 为周期进行周期性的延拓形成的。
对模拟信号进行采样可以看做一个模拟信号通过一个电子开关S ,设电子开关每隔周期T 和上一次,每次和上的时间为τ,在电子开关的输出端得到采样信号x^a(t)。用公式表示如图1:
∧
图1 对模拟信号进行采样
3. 信号的恢复:
可用传输函数G (j ω) 的理想低通滤波器不失真地将原模拟信号f (t ) 恢复出来,只是一种理想恢复。
1
g (t ) =
2π
sin(Ωs )
G (j ω) e d Ω=⎰Ωs t -∞
∞
j ω
sin(πt )
(2.2.2) 因为Ωs =2π g (t ) =π理想低通滤波器的输入输出f (t ) 和y (t ) ,
∧
∧
y (t ) =f (t ) *g (t ) =
⎰
∞
-∞
f (t ) g (t -τ) d τ (2.2.3)
4 、测试系统软件设计
4.1用MATLAB 产生连续信号y=sin(100*pi*t)+cos(200*pi*t)和其对应的频谱:
程序:
clc; clear;
x1=0:1/10000:1/10; w=(0:255)/256*500;
%w=linspace(0,100*pi,length(x1)); y=sin(100*pi*x1)+cos(200*pi*x1); figure
subplot(211) plot(x1,y);
xlabel('t');ylabel('x(t)');title('原时域连续信号
y=sin(100*pi*t)+cos(200*pi*t)');
grid y1=y;
%sin1=sin(x1); n=0:(length(x1)-1); subplot(212)
plot(w,fft1(w,y1,n));
xlabel('w');ylabel('x(w)');title('其对应频域信号Y=FT(sin(100*pi*t)+cos(200*pi*t)');
grid
则产生原时域连续信号与频谱如图2所示:
原时域连续信号y=sin(100*pi*t)+cos(200*pi*t)
21
x (t )
0-1-20
0.01
0.050.060.070.080.09t
其对应频域信号Y=FT(sin(100*pi*t)+cos(200*pi*t)
0.02
0.03
0.04
0.1
600400
x (w )
20000
[1**********]
250w
[**************]
图2 原时域连续信号与频谱 其中要用到子函数fft1, 程序代码如下: function result=fft1(w,hanshu,n) a=cell(1,length(w)); for i=1:length(w)
m=hanshu.*((exp(-j*(i-1)*pi/100)).^n); a{i}=sum(m); end
for i=1:length(w) result(i)=a{i}; end
4.2对连续信号y= sin(100*pi*t)+cos(200*pi*t)进行抽样并产生其频谱
程序:
%................采样后的信号和频谱....................................... clc;
clear;
n1=input('请输入采样点数n:'); n=0:n1; zb=size(n);
figure
sinf=sin(100*pi*n/(10*zb(2)))+cos(200*pi*n/(10*zb(2))) %sinf=sin(8*pi*n/zb(2)); subplot(211); stem(n,sinf,'.');
xlabel('n');ylabel('x(n)');
title('采样后的时域信号y=x(n)'); w=0:(pi/100):4*pi; subplot(212)
plot(w,fft1(w,sinf,n)); xlabel('w');ylabel('x(w)');
title('采样后的频域信号y=FT(sin(100*pi*n)+cos(200*pi*n))'); grid
当输入n=100时,所得结果原时域连续信号的采样信号与频谱如图3 所示:
采样后的时域信号y=x(n)
x (n )
n
采样后的频域信号y=FT(sin(100*pi*n)+cos(200*pi*n))
50
x (w )
-50
0246
w
8101214
图3 原时域连续信号的采样信号与频谱
当输入n=150时,所得结果原时域连续信号的采样信号与频谱如图4 所示:
采样后的时域信号y=x(n)
x (n )
n
采样后的频域信号y=FT(sin(100*pi*n)+cos(200*pi*n))
10050
x (w )
0-50-100
2
4
6
w
8
10
12
14
图4 原时域连续信号的采样信号与频谱 4.2通过低通滤波恢复原连续信号
%................经低通滤波恢复原信号...................................... [B,A]=butter(8,350/500); %设置低通滤波器参数 [H,w]=freqz(B,A,512,2000);
figure; %绘制低通频谱图
plot(w*2000/(2*pi),abs(H)); xlabel('Hz');ylabel('频率响应幅度'); title('低通滤波器'); grid
低通滤波器的频谱如图5所示:
低通滤波器
1.2
1
0.8
频率响应幅度
0.6
0.4
0.2
Hz
x 10
5
如图5:低通滤波器的频谱
figure
y=filter(B,A,sinf);
subplot(2,1,1);plot(y); %恢复后的连续信号y=sin(100*pi*t)+cos(200*pi*t) xlabel('t');ylabel('x(t)');
title('恢复后的连续信号y=sin(100*pi*t)+cos(200*pi*t)'); grid;
Y=fft(y,512);w=(0:255)/256*500;
subplot(2,1,2);plot(w,abs([Y(1:256)])); %绘制频谱图 xlabel('Hz');ylabel('频率响应幅度'); title('频谱图'); grid
n=100时恢复后的信号和频谱如图6所示:
恢复后的连续信号y=sin(100*pi*t)+cos(200*pi*t)
21
x (t )
0-1-20
20
40
60t 频谱图
80
100
120
60
频率响应幅度
40200
Hz
图6 n=100时恢复后的信号和频谱
5 、结论
本研究结果说明了在Matlab 的低通抽样定理仿真中进行模拟/数字信号的转换过程中, 得出了当采样频率fs.max 大于信号中最高频率fmax 的2倍时(fs.max>=2fmax),采样之后 的数字信号完整地保留了原始信号中的信息。实际应用中保证采样频率为信号最高频率的5~10倍;采样定理是信息量化的基础,使离散的2琎制比特表示连续的模拟量的理论依据。
参考文献:
[1]陈怀琛,数字信号处理教程—MATLAB 释义与实现。北京:电子工业出版社,2004 [2]Stanley W D.Digital Signal Processing.reston Publishing Company,Inc.A,1975.常迥译。数字信号处理. 北京:科学出版社,1979
[3]楼顺天, 李博菡。基于MATLAB 的系统分析与设计—信号处理。西安:西安电子科技大学出版社,1998
[4]门爱东,苏菲等。数字信号处理(第二版)。北京:科学出版社,2009
[5]Vinay K.Ingle,John G.Proakis.Digital Signal Processing Using MATLAB V.4.Pws Publishing Company, A Division Of International Thomson Tublishing Inc.,1996. 陈怀琛等译。数字信号处理及其MATLAB 实现。北京:电子工业出版社,1998