数字信号处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一次讨论课内容

(1)时域信号

(a )如何由模拟信号产生时域离散信号;

模拟信号:信号的自变量和函数值都为连续值。一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。

时域离散信号:自变量取离散值,函数值取连续值。离散信号是一个序列,即其自变量是“离散”的。这个序列的每一个值都可以被看作是连续信号的一个采样。

模拟信号()a x t ,以采样间隔T 对它进行等间隔采样,得到时域离散信号()x n 。

即:()()|()a t nT a x n x t x nT n ===-∞<<+∞ (n 取整数,...,0,1,2,3,...n = )

采样是将时间上、幅值上都连续的模拟信号,在采样脉冲的作用,转换成时间上离散(时间上有固定间隔)、但幅值上仍连续的离散模拟信号。所以采样又称为波形的离散化过程。

对模拟信号进行采样可以看作一个模拟信号通过一个电子开关S 。设电子

开关的作用等效成一宽度为τ,周期为T 的矩形脉冲串()T p t ,采样信号ˆ()a x

t 就是()a x t 与()T p t 相乘的结果。

理想采样:τ→0,脉冲串变为单位冲激串()p t δ。()p t δ中每个单位冲激处在采样点上,强度为1,理想采样是()a x t 与()p t δ相乘的结果。

即: ()()n p t t nT ∞

δ=-∞=

δ-∑ 式中()t δ是单位冲激信号,上式只有在t nT =时,才可能是非零值,所以可写成:

由模拟信号经采样产生时域离散信号的MATLAB 程序:

① 一个连续的周期性三角波信号频率为50HZ ,信号幅度在0~+2V 之间,在窗口显示2个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。

代码:

f=50;Um=1;ts=2; %输入信号的频率、振幅、显示周期

N=16; %信号一个采样周期的采样点数为16

T=1/f; %信号周期T

dt=T/N; %采样时间间隔

n=0:ts*N-1; %建立离散时间的时间序列列

tn=n*dt; %确定时间序列样点在时间轴上的位置

y=Um*sawtooth(2*f*pi*tn,1/2)+1; %三角波

subplot(2,1,1),stem(tn,y); %显示采样后的信号

title('离散信号');

subplot(2,1,2),plot(tn,y); %显示原连续信号

title('连续信号');

运行结果:

② 一个连续的周期性正弦信号频率为200Hz ,信号幅度在-1~+1V 之间,在窗口上显示2个周期信号波形,用Fs=4KHZ 的频率对连续信号进行采样,试显示连续信号和采样获得的离散信号波形。

代码:

f=200;Um=1;nt=2; %输入信号的频率、振幅、显示周期

Fs=4000; %采样频率

N=Fs/f; %采样点数

T=1/f; %信号周期

dt=T/N; %采样时间间隔

n=0:nt*N-1; %建立离散时间的时间序列

tn=n*dt; %确定时间序列样点在时间轴上的位置

y=Um*sin(2*f*pi*tn); %正弦波

subplot(2,1,1),stem(tn,y); %显示采样后的信号

title('离散信号');

subplot(2,1,2),plot(tn,y); %显示原连续信号

title('连续信号');

运行结果:

抽样定理是连续时间信号和离散时间信号之间的桥梁,在时域该系统实现了输入信号与抽样序列的相乘,完成了时间轴的离散,在频域实现了原信号频谱的周期延拓。在奈奎斯特抽样定理的条件下(抽样频率不小于被抽样带限信号最高频率的两倍),一个连续时间信号完全可以用该信号在等时间间隔点上的样本来表示,在频率轴上实现了原信号频谱无混叠的周期化。

采样定理:设连续信号的的最高频率为max f ,如果采样频率max 2s f f ,那么采样信号可以唯一的恢复出原连续信号,否则会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。

验证采样定理的MATLAB 程序:

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

对信号进行采样,得到采样序列,绘制采样频率分别为80Hz ,120 Hz ,150 Hz 时的采样序列波形;、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。

代码:

%实现采样频谱分析绘图函数

function fz=caiyang(fy,fs)

%第一个输入变量是原信号函数,信号函数fy 以字符串的格式输入

%第二个输入变量是采样频率

fs0=10000;

tp=0.1;

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

k1=0:999;

k2=-999:-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(2,1,1),plot(t,fx1,'r')

title('原信号'), xlabel('时间t (s)')

axis([min(t),max(t),min(fx1),max(fx1)])% 画原信号幅度频谱

subplot(2,1,2),plot(f,abs(FX1),'r')

title('原信号幅度频谱') , xlabel('频率f (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(2,1,1),stem(t,fz,'.'),

title('取样信号') , xlabel('时间t (s)')

line([min(t),max(t)],[0,0]) % 画采样信号幅度频谱

subplot(2,1,2),plot(f1,abs(FZ),'m')

title('取样信号幅度频谱') , xlabel('频率f (Hz)')

function fh=huifu(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:999;

k2=-999:-1;

m1=length(k1);

m2=length(k2);

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

FH=fh*exp(-j*[1:length(fh)]'*w);

相关文档
最新文档