实验三 抽样.docx
《实验三 抽样.docx》由会员分享,可在线阅读,更多相关《实验三 抽样.docx(14页珍藏版)》请在冰点文库上搜索。
实验三抽样
实验报告
课程名称
数字信号处理实验
实验项目名称
抽样
实验类型
研究型
实验学时
2
班级
20130814
学号
2013081411
姓名
寇雨然
指导教师
陈立伟
实验室名称
EDA设计仿真实验室1
实验时间
实验成绩
预习部分
实验过程
表现
实验报告
部分
总成绩
教师签字
日期
实验三抽样
1、实验要求:
研究抽样过程,分析产生混叠效应的原因,实现不同的重建方案。
2、实验原理:
本部分说明抽样过程两个基本原理:
混叠和重建,涉及正弦波和线性调频信号的混叠。
然后使用DTFT在频域中展开混叠过程。
最后实践几种可从其抽样样本把信号恢复的不同手段。
1、正弦信号混叠
对连续时间正弦信号考虑下面表达式:
可以按抽样频率
对x(t)抽样来获得离散时间信号
三、实验内容:
1、
(1)以不同组合的
和
绘出x[n],可以说明混叠问题。
取抽样频率
=8kHz
a.首先,绘出被抽样的正弦波单图,正弦波的频率为300kHz,然后在10ms长度间隔上抽样,相位任意。
使用stem绘出产生的离散时间信号。
b.使用plot绘图,在这种情形下,点用直线段连接起来。
c.把正弦的频率从100Hz变到475Hz,每次增加125Hz,绘出一系列相应的图,显现的正弦信号的频率在逐渐增加。
d.把正弦的频率从7525Hz变到7900Hz,每次增加125Hz,绘出一系列相应的图,显现的正弦信号的频率在逐渐减少
e.把正弦的频率从100Hz变到475Hz,每次增加125Hz,绘出一系列相应的图,显现的正弦信号频率变化
(2)程序
%ab
>>fs=8000;
f0=300;
nn=0:
80;
y=sin(2*pi*f0*nn/fs+pi/3);
subplot(211)
stem(nn,y)
grid
xlabel('nn')
ylabel('y1')
title('3.3.1.a')
subplot(212)
n=0:
80;
plot(n,y)
grid
xlabel('t')
ylabel('y2')
title('3.3.1.b')
%c
>>fs=8000;
f0=100;
nn=-40:
40;
fori=1:
4
y=sin(2*pi*f0*nn/fs+pi/3);
subplot(2,2,i);
stem(nn,y)
grid
xlabel('nn')
ylabel('y')
title('3.3.1.c')
f0=f0+125;
end
%d
>>fs=8000;
f0=7525;
nn=-40:
40;
fori=1:
4
y=sin(2*pi*f0*nn/fs+pi/3);
subplot(2,2,i);
stem(nn,y)
grid
xlabel('nn')
ylabel('y')
title('3.3.1.d')
f0=f0+125;
end
>>%e
>>fs=8000;
f0=32100;
nn=-40:
40;
fori=1:
4
y=sin(2*pi*f0*nn/fs+pi/3);
subplot(2,2,i);
stem(nn,y)
grid
xlabel('nn')
ylabel('y')
title('3.3.1.e')
f0=f0+125;
end
(3)运行结果
2、抽样的频域视图
(1)对连续时间信号抽样,因为频域以抽样频率延拓,故其频谱显现出混叠效应。
仿真包括抽样运算,接着做D/A转换(包括一个重建滤波器)
为了仿真模拟信号,必须用非常高的抽样率,至少是任何模拟信号所允许具有的最高频率的5倍。
两个抽样率,一个用于所研究的实际抽样中,另一个用于仿真连续时间信号。
(2)程序
M文件
functionfmagplot(xa,dt)
L=length(xa);
Nfft=round(2.^round(log2(5*L)));
Xa=fft(xa,Nfft);
range=0:
(Nfft/4);
ff=range/Nfft/dt;
plot(ff/1000,abs(Xa(1:
length(range))))
title('CONT-TIMEFOURIERTRANSFORM(MAG)')
xlabel('FREQUENCY(kHz)'),grid
pause
3、产生信号
(1)a.产生一个模拟频率为
的余弦信号,作为仿真的模拟信号。
随机选定相位,在长度为T的时间间隔上,以速率
产生抽样样本,选择仿真模拟信号,长度T以取得大约900到1000个样本。
b.用plot指令绘出时间信号以便将样本连接起来,确定是用实际连续时间标记时间轴。
c.绘出此信号的傅里叶变换
(2)程序
n=0:
950;
f0=10000;
fsim=80000;
t=n./fsim;
x=cos(2*pi*f0*n/fsim+pi/3);
subplot(3,1,1),stem(t,x);
subplot(3,1,2),plot(t,x);
subplot(3,1,3),fmagplot(x,1/80000);
(3)运行结果
4、A\D转换
(1)A/D转换器以间隔
抽样,利用对x(t)抽样所得的样本子集来实现仿真
a.绘出
=8kHz时产生的离散时间信号
b.计算离散时间信号的DTFT并解释它如何与模拟信号的傅立叶变换相联系。
(2)程序
n=0:
0.5:
50;
f0=1000;
fsim=8000;
Xn=sin(2*pi*f0/fsim*n);
subplot(3,1,1)
stem(n,Xn);
subplot(3,1,2)
Xn=sin(2*pi*f0/fsim*n*2);
fmagplot(Xn,1/8000);
subplot(3,1,3)
[X,W]=dtft(Xn,256);
plot(W/2/pi,abs(X));
(3)运行结果
5、设计一个重建滤波器
D/A环节由两部分组成:
以抽样时间间隔
分隔离散时间样本,在其之后是一个模拟重建滤波器。
a.显然必须以数字滤波器仿真实际模拟滤波器的方式来实现重建滤波器。
使用MATLAB滤波器设计的cheby2函数来设计这一滤波器:
[b,a]=cheby2(9,60,fcut)
这样设计出的滤波器将是一个阻带衰减60dB的9阶滤波器。
模拟的截止频率必须是
,对于matlab这一频率必须按比例变成:
fcut=2*(fsamp/2)/fsim
fsim=8000;
fsamp=1000;
fcut=2*(fsamp/2)/fsim;
[b,a]=cheby2(9,60,fcut);
[HH,WW]=freqz(b,a,256,'whole');
plot(WW,abs(HH))
6、N=200;
n0=0:
N;
f0=1000;
fsim=8000;
t=n0./fsim;
xn=cos(2*pi*f0*n0/fsim+pi/3)
n=0:
1000;
L=length(n);
x=zeros(L,1);
i=0:
N;
x(5*i+1)=xn(i+1);
subplot(5,1,1)
stem(n,x)
fcut=2*(f0/2)/fsim;
[b,a]=cheby2(9,60,fcut);
y=filter(b,a,x);
subplot(5,1,2)
stem(y)
subplot(5,1,3)
plot(y)
subplot(5,1,4)
X=fft(y);
plot(n,abs(X));
subplot(5,1,5)
plot(n,angle(X));
7、n=0:
1:
50;
f0=2000;
fsim=8000;
x=sin(2*pi*f0*n);
[X,W]=dtft(x,256);
subplot(2,2,1)
plot(W/2/pi,abs(X));
subplot(2,2,2)
plot(W/2/pi,angle(X));
xn=sin(2*pi*f0/fsim*n);
[Xn,W]=dtft(xn,256);
subplot(2,2,3)
plot(W/2/pi,abs(Xn));
subplot(2,2,4)
plot(W/2/pi,angle(Xn));
四.实验结论
通过这次实验,我从多方面了解了采样过程,不同采样频率对信号的影响,以及发生混叠效应的原因,通过x(t),x[n],x(t),
这四个信号的相同点和不同点的比较,让我今后在运用的过程有了一定的筛选性。