DSP数字信号处理实验报告 - 图文

发布时间 : 星期一 文章DSP数字信号处理实验报告 - 图文更新完毕开始阅读

实 验 报 告

实验名称__ 采样、系统性质及滤波_ _

系统频率响应和样本处理算法实现

加窗和离散傅氏变换 数字滤波器设计

课程名称 数字信号处理A(双语) 班级学号_ ___ 姓 名____ _____

开课时间 2011/2012学年,第二学期

实验一 采样、系统性质及滤波

一、 实验目的和任务

(1)熟悉MATLAB的主要操作命令。 (2)学会简单的矩阵输入和数据读写。 (3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。 (5)观察采样引起的混叠。

(6)判别离散时间系统的时不变性。 (7)卷积计算

二、 实验内容 A、观察采样引起的混叠

设模拟信号为x(t)?cos(5?t)?4sin(2?t)?sin(3?t),t的单位为毫秒(ms)。 1. 设采样频率为3kHz,确定与x(t)混叠的采样重建信号xa(t)。

2. 画出x(t)和xa(t)在0?t?6(ms)范围内的连续波形。(因数字计算机无法真正画出

连续波形,可用较密的离散点的连线来近似。)

3. 分别用\?\和\?\在两信号波形上标记出3kHz采样点。两信号波形是否相同?采样后

的两序列是否相同?

实验过程与结果: 实验程序:

% ============= % problem 1

% ============= clear

% estimate x(t) and xa(t) with a much higher sampling freq. 'fs1' time_period=6; % unit: ms fs1=50; % unit: kHz T1=1/fs1; % unit: ms n1=0:fix(time_period/T1);

x=cos(5*pi*n1*T1)+4*sin(2*pi*n1*T1).*sin(3*pi*n1*T1); xa=cos(pi*n1*T1);

% obtain x(nT) and xa(nT) with given sampling freq. 'fs' fs=3; T=1/fs;

n=0:fix(time_period/T);

x_sample=cos(5*pi*n*T)+4*sin(2*pi*n*T).*sin(3*pi*n*T); xa_sample=cos(pi*n*T);

figure,plot(n1*T1,x,'r',n1*T1,xa,'b',n*T,x_sample,'ro'),

hold on, stem(n*T,xa_sample,'b:x')

legend('x(t)','xa(t)','x(nT)','xa(nT)'),xlabel('t(ms)') 实验结果:

分析与讨论:

x(t)?cos(5?t)?4sin(2?t)?sin(3?t)?2cos(?t)?cos(5?t) xa(t)?cos(?t)

两个信号x(t)和xa(t)波形不相同。但采样后的重建序列x(n)和xa(n)相同。这反映了采样重建时有可能发生混淆现象。

B、判别离散时间系统的时不变性。

设输入序列为x(n),系统y(n)?x(2n)实现对x(n)的抽取。 1. 设x(n)?sin(2?100n),n?1,2,...,500。取延迟量D(例如D=30)。记

xD(n)?x(n?D),画出x(n)、xD(n)的序列波形。

2. 编程求出系统对x(n)的响应y(n)以及对xD(n)的响应yD(n) 3. 画出y(n?D)、yD(n)的波形。 该系统是否为时不变的?

实验过程与结果: 实验程序:

% ============= % problem 2

% ============= clear

% plot x(n) and x(n-D) D=30; N=500; n=1:N;

x=sin(2*pi/100*n); for n=1:N+D,

if (n-D)<=0, xD(n)=0; else xD(n)=x(n-D); end end

figure,subplot(2,1,1),

plot(1:N,x,'r:',1:length(xD),xD,'b'), legend('x(n)','xD(n)'),,xlabel('n')

% plot y(n) and yD(n) for n=1:fix(N/2) y(n)=x(2*n); end

for n=1:length(y)+D,

if (n-D)<=0, y_delay(n)=0; else y_delay(n)=y(n-D); end end

for n=1:fix(length(xD)/2) yD(n)=xD(2*n); end

subplot(2,1,2),

plot(1:length(y),y,'r:',1:length(y_delay),y_delay,'r.:',1:length(yD),yD,'b.'), legend('y(n)','y(n-D)','yD(n)'),,xlabel('n') axis([0 530 -1 1]) 实验结果:

联系合同范文客服:xxxxx#qq.com(#替换为@)