数字信号处理课设报告

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

课程设计报告

名称数字信号处理课程设计

基于MATLAB测速仪设计

指导教师罗倩

设计起始日期 2015-1-5至2015-1-15

学院信息与通信工程学院

专业电子信息工程

学生姓名

班级/学号

成绩

指导老师签字

第一部分:基础题

1.题目一:

以周期Ts=0.125ms 对信号进行采样,得到离散时间信号:

x(n)=cos(0.48πn)+ cos(0.52πn)

1)用杆形图画出离散时间序列;

2)取 x(n) (0≤n≤9),求 x(n)的 10 点 FFT,并绘出图形;

3)将 1)中的 x(n)后面补零,使 x(n)加长到 0≤n≤99,求 FFT,并绘出图形;

4)取 x(n) (0≤n≤99),求 x(n)的 100 点 FFT,并绘出图形。

5)分析 1)-3)的结果;

6)为了能分辨出信号的频谱成分,所需的频率分辨率是多少?至少应记录多长时

间的信号,为什么?

7)用 FFT 作出离散谱,离散谱线与实际频率如何对应?为什么?用实际频率标记

频率轴。

8)利用一个单位脉冲响应序列为 h(n)的系统,设计实现对上述长的序列 x(n)滤波处理,要求使用重叠保留法通过 FFT 来实现这种处理,要求各输入数据段重叠 p 个样点,并从每一段产生的输出中取出 m 个样点,再连接在一起以得到所要求的输出序列。设计滤波算法程序。试用h ( n) ={1,1,1,1,1}(五点平均系统)验证你的程序,并求出 p 和 m,显示出分段的输入序列各段的内容和分段的输出序列各段的内容,用杆状图绘出线性卷积输出结果和通过 FFT 重叠保留法的输出结果。

♦流程图

开始

定义时域n0的取值为0到9

生成时域波形,用plot函数画出时域波形

用fft函数对10点时域波形进行快速傅里叶变换

画出10点FFT变换的频域图形

在原序列后补零使序列长度增加到100

对补零后序列FFT取模,画出时域和频域图形

重新取样取n为0到99

对100点时域信号FFT取模,画出时域和频域图形

结束

♦回答问题并写明计算依据对结果进行分析比较

5) 分析1)-3)的结果

6) 为了能分辨出信号的频谱成分,所需的频率分辨率是多少?至少应记录多长时间的信号,为什么?

7) 用FFT作出离散谱,离散谱线与实际频率如何对应?为什么?用实际频率标记频率轴。8)重叠保留法

相应程序

clear all;clc;close all;

Ts=0.000125;

Fs=1/Ts;

n=0:99;

xn=cos(0.48*pi*n)+cos(0.52*pi*n);

%% 线性卷积

hn=ones(1,5);

yn=conv(xn,hn);

figure;

subplot(211);

stem(yn);

title('线性卷积')

grid on;

%% 重叠保留法

N=length(xn); % xn的长度

M=length(hn); % hn的长度

L=8; %确定做变换的点数

K=floor(N/(L-(M-1))) ; % 求分组数,向下取整

leftlenx=N-K*(L-(M-1)); % 剩下的元素的个数

bzero=N-leftlenx-(M-1); % 后面需要补零的个数

xn=[zeros(1,M-1),xn,zeros(1,bzero)];% 对整个序列补零

for i=1:K+1

xseg= xn(((L-(M-1))*(i-1)+1): ((L-(M-1))*(i-1)+L));

xi(i,:)=xseg;

end

%% FFT & IFFT

hn=[hn zeros(1,L-M)];

H=fft(hn);

for i=1:K+1

Xi(i,:)=fft(xi(i,:));

Yi(i,:)=Xi(i,:).*H;

yi(i,:)=ifft(Yi(i,:)) % 反变换

end

y1=yi(:,M:L)'

y2=y1(:)

subplot(2,1,2)

stem(y2)

title('重叠保留法N点圆周卷积')

grid on

♦总结实验所得的主要结论

本实验表明,时域原序列补零不能提高谱分析的分辨率F。分辨率公式F=Fs/N中的N 是在记录时间内的时域抽样点数。补零没有增加时域“有效”数据,所以不会提高谱分析精度。

♦绘出实验得到的图形

程序

clear all;clc;close all;

Ts=0.000125;

Fs=1/Ts;

n=0:9;

xn=cos(0.48*pi*n)+cos(0.52*pi*n); subplot(321);

stem(n,xn);

xlabel('n');ylabel('x(n)');

title('10点离散时间序列');

%% 十点FFT

k=n;

X=abs(fft(xn));

subplot(322);

stem(k,X);

xlabel('k');ylabel('|X(k)|')

title('10点FFT的模')

grid on;

%% 补零100点FFT

xn=[xn,zeros(1,100-length(xn))]; subplot(323);

stem(0:length(xn)-1,xn);

xlabel('n');ylabel('x(n)');

title('补零后的100点离散时间序列'); k=0:length(xn)-1;

X=abs(fft(xn));

subplot(324);

stem(k,X);

xlabel('k');ylabel('|X(k)|')

相关文档
最新文档