新浪博客

信号的采样与重构

2017-05-14 17:25阅读:
采样定理
模拟信号经过 (A/D) 变换转换为数字信号的过程称为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率 fs,重复出现一次。为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理
利用MATLAB分析采样和截频对信号重构的影响
1)采样对信号重构的影响
源程序为:
%
实验信号f(t)=sin(t)/t,最高截频为1
%#####
%Step1:原始信号
%#####
lf=15*pi; %信号长度
t=-lf:0.01:lf; %观察区间
f=sin(t)./t; %原信号
figure
axis([-50 50 -0.5 1.5]);
plot(t,f,'LineW
idth',5);
xlabel('t');
ylabel('f(t)');
title('原信号(f(t)=sin(t)/t)');
grid;
%#####
%Step2:采样信号
%#####
wm=1; %最高截频
rs=input('过采样,0.5,临界采样,1,欠采样,1.5rs=');
Ts=rs*pi./wm; %采样周期
ws=2*pi./Ts; %采样角频率
ns=lf/Ts; %采样信号长度
n=-ns:ns; %采样点数
nTS=n*Ts; %采样时刻
fs=sinc(nTs/pi); %采样信号
hold on;
stem(nTs,fs,'r');
xlabel('kTs');
ylabel('f(kTs)');
if rs<1
title('过采样信号');
elseif rs<1.5
title('临界采样信号');
else
title('欠采样信号');
end;
%#####
%Step3:重构信号
%#####
fsr=fs*sinc((1/Ts)*(ones(length(nTs),1)*t-nTs*ones(1,length(t))));%重构信息
�=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t))));
hold on;
plot(t,fsr,'g','LineWidth',1)
xlabel('t');
ylabel('fsr(t)');
if rs<1
title('过采样重构信号');
elseif rs<1.5
title('临界采样重构信号');
else
title('欠采样重构信号');
end;
程序运行结果为:
信号的采样与重构

2)截频对信号重构的影响

源程序为:
%实验信号f(t)=1-1<=x<=1,频谱为F(w)=2sinw/w
%#####
%Step1:原始信号
%#####
lf=1.5; %信号长度参数
t=-lf:0.01:lf; %观察观察区间
f=zeros(1,length(t)); %原信号
f(logical(abs(t)<=1))=1;
figure('name','时域信号f(t)=1(-1<=x<=1)')
axis([-1.5 1.5 -0.5 1.5]);
plot(t,f,'LineWidth',3);
xlabel('t');
ylabel('f(t)');
grid on

%#####
%Step2:信号的频谱
%#####
IF=10; %频带宽度参数
w=-IF:0.01:IF; %频谱观察区间
F=2*sin(w)./w; %频谱
figure('name','频谱F(w)=2sinw/w');
axis([-15 15 -2 2]);
plot(w,F,'LineWidth',3);
xlabel('w');
ylabel('F(w)');
grid on

%#####
%Step3:采样信号
%#####
wm=input('请选择截频(pi/0.5 or pi/0.3,etc):wm='); %最高截频
Ts=pi./wm; %采样周期
ws=2*pi./ts; %采样角频率
ns=If/Ts; %采样信号长度参数
n=-ns:ns; %采样点数
nTs=n*Ts; %采样时刻
fs=zeros(1,length(nTs)); %采样信号
fs(logical(abs(nTs)<=1))=1;
figure('name','采样信号');
stem(nTs,fs,Ts);
xlabel('kTs');
ylabel('f(kTs)');
grid on;

%#####
%Step4:重构信号
%#####
fsr=fs*sinc((1/Ts)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));%重构信息
figure('name','重构信号');
plot(t,fsr,'r','LineWidth',1)
xlabel('t');
ylabel('fsr(t)');
grid on;
程序运行结果为:
信号的采样与重构

我的更多文章

下载客户端阅读体验更佳

APP专享