答:
通过实验结果可知,可以先对原序列x(n)以N为周期进行周期延拓后取主值区序列,再计算N点DFT则得到N点频域采样。
实验二正余弦信号的谱分析
一、设计目的
1.用DFT实现对正余弦信号的谱分析;
2.观察DFT长度和窗函数长度对频谱的影响;
3.对DFT进行谱分析中的误差现象获得感性认识。
二、程序运行结果
三、参数与结果分析
对于第一小题,一个余弦信号
,其频率为f。
,其中T为采样周期,T=1/Fs。
则其数字角频率为w=2*pi*f*T,即w=2*pi*f/Fs,则其周期为2*pi/w。
整理得Fs/f。
Fs=64Hz,当f=10Hz时,n前面的系数为32/5,所以其周期为32。
当f=11Hz时,n前面的系数为64/11,所以周期为64.由于周期不同,所以当序列长度为32点时候,10Hz的正好采了一个周期的,而11Hz的只采了半个周期,因此,10Hz的不发生频谱泄露现象,而11Hz的发生了频谱泄露现象。
从第二、第三小题可以看到,采样的点数越多,其频谱分辨率越高。
由于频谱分辨率要小于(f2-f1)即0.03Hz。
令频谱分辨率F=0.03Hz,则采样长度Tp=1/F=16.6s。
又因为要满足采样定理,即Fs>=2fc,即Fs>=0.5。
取采样频率为Fs=1Hz,则采样周期T=1s,此时信号长度为N=2fc/F=16.6,为符合FFT算法,取N=32,此时,所画的频谱能将0.22与0.25分离开来。
四、思考题
(1)对于周期序列,如果周期不知道,如何用FFT进行谱分析?
答:
如果X(n)的周期预先不知道,可先截取M点进行DFT,即
,
0<=K<=M-1
再将截取长度扩大一倍,截取
,
,0<=K<=2M-1
比较
和
,如果二者的主谱差别满足分析误差要求,则以
或
近似表示
的频谱,否则继续将截取长度加倍,直至前后再次分析所得主谱频率差别满足误差要求,设最后截取长度为iM,则
表示
点的谱线强度
(2)如何选择FFT的变换区间?
(包括非周期信号和周期信号)
答:
对于非周期信号:
有频谱分辨率F,而频谱分辨率直接和FFT的变换区间有关,因为FFT能够实现的频率分辨率是2π/N...因此有最小的N>2π/F。
就可以根据此式选择FFT
的变换区间。
对于周期信号,周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
实验三语音信号滤波处理
一、设计目的
1.了解语音信号的产生、采集,能绘制语音信号的频率响应曲线及频谱图;
2.学会用MATLAB对语音信号进行分析和处理;
3.掌握用滤波器去除语音信号噪声的方法,观察去噪前后的语音信号。
二、程序运行结果
(1)该信号的原始波形及频谱图如下:
(2)设计的带通以及带阻滤波器的频谱图如下:
则原始信号通过该带阻滤波器之后的波形图以及频谱图如下:
将该信号的频谱与原始信号的频谱做比较,可以看出,滤波效果良好,在两个声音频率之间的杂音信号都被衰减掉了。
设计的带通滤波器的频谱图如下:
通过带阻滤波器之后的信号再通过带通滤波器之后的波形及频谱图如下:
将该信号的频谱与通过带阻之后的滤波器的信号频谱做比较可以看出来滤波效果良好,在波段范围以外的杂音频率都被衰减掉。
三、结果分析与体会
首先要做的事情就是分辨出哪些是不想要杂音干扰,尖峰周围的毛刺就是那些杂音信号。
而为了将这些杂音信号分离开,就需要设计合适的滤波器。
先让声音信号通过一个带阻滤波器,把中间的杂音滤除掉,再让信号通过一个带通滤波器,把纯净的声音信号提取出来。
实验四数字滤波器的设计及实现
一、设计目的
(1)熟悉IIR数字滤波器的设计原理和方法;
(2)学会调用MATLAB信号处理工具箱中的滤波器设计函数设计各种IIR数字滤波器,学会根据滤波要求确定滤波器指标参数;
(3)掌握用IIR数字滤波器的MATLAB实现方法,并能绘制滤波器的幅频特性、相频特性;
(4)通过观察滤波器的输入、输出信号的时域波形及其频谱,建立数字滤波的概念。
二、程序调试分析
由于本次试验所要求参数为题目要求,因此只需把相应的通带截止频率和阻带截止频率根据不同的滤波器相互转换(低通,带通,高通),按照题目要求的通带最大衰减0.1db和祖代最小衰减60db设计。
(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。
答:
第1路调幅信号载波频率fc1=1000Hz;第1路调幅信号的调制信号频率fm1=100Hz
第2路调幅信号载波频率fc2=500Hz;第2路调幅信号的调制信号频率fm2=50Hz
第3路调幅信号载波频率fc3=250Hz;第3路调幅信号的调制信号频率fm3=25Hz
(2)信号产生函数mstg中采样点数N=1600,对st进行N点FFT可以得到6根理想谱线。
如果取N=1800,可否得到6根理想谱线?
为什么?
N=2000呢?
请改变函数mstg中采样点数N的值,观察频谱图验证您的判断是否正确。
答:
当N=1800时不能得到6根理想谱线,而N=2000时可以得到。
因为信号st是周期序列,谱分析时要求观察时间为整数倍周期。
分析可知,st的每个频率成分都是25Hz的整数倍。
采样频率Fs=10kHz=25×400Hz,即在25Hz的正弦波的1个周期中采样400点。
所以,当N为400的整数倍时一定为st的整数个周期。
因此,采样点数N=1600和N=2000时,对st进行N点FFT可以得到6根理想谱线。
如果取N=1800,不是400的整数倍,不能得到6根理想谱线。
实验心得体会
本次数字信号处理的课程设计,使我学到了许多书上学不到的知识。
我不仅知道了实践与理论相结合的道理,还学会认识错误与解决错误的方法。
本次设计我主要负责第一个题目,在设计过程中主要遇到了以下两个问题:
调用M文件中两个函数相乘时出现错误,后来请教老师后才知道我犯了一个低级错误,原来矩阵相乘时不能直接使用“*”的符号,否则就会出现错误;第二个问题是在设计第二问的时候,画出Xk的原图型的横坐标轴不知道用什么表示,通过上网查找后我知道表达方式,但由于没有学习过数据结构,还是对其原理不是很理解,但我相信以后我一定会理解清楚的。
通过这次课程设计,我学会了如何在MatLab软件上实现时频域采样验证、正正余弦谱分析、数字滤波器的设计以及语音信号处理等基本操作。
在两周的课程设计时间里,我不仅对课本上的知识更加理解,而且还有了自己对Matlab在数字信号处理方面的认识。
在今后的学习生活中,我会更加的努力,不断地探索与学习更多更丰富的知识!