数字信号处理的实习和实验报告.docx
- 文档编号:9230581
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:22
- 大小:1.14MB
数字信号处理的实习和实验报告.docx
《数字信号处理的实习和实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理的实习和实验报告.docx(22页珍藏版)》请在冰点文库上搜索。
数字信号处理的实习和实验报告
数字信号处理实习报告
指导老师:
姓名:
班级:
学号:
实验一离散卷积的计算
一、实验内容
设线性时不变(LTI)系统的冲激响应为h(n),输入序列为x(n)
1、h(n)=(0.8)n,0≤n≤4;x(n)=u(n)-u(n-4)
2、h(n)=(0.8)nu(n),x(n)=u(n)-u(n-4)
3、h(n)=(0.8)nu(n),x(n)=u(n)
求以上三种情况下系统的输出y(n)。
二、实验程序及实验结果
1.1matlab程序
x=[ones(1,4)];
N1=length(x);
n1=0:
N1-1;
N2=5;
n2=0:
N2-1;
h=0.8.^n2;
y=conv(x,h);
N=N1+N2-1;
n=0:
N-1;
subplot(2,2,1);stem(n1,x);title('序列x');
xlabel('n');ylabel('x(n)');
subplot(2,2,2);stem(n2,h);title('序列h');
xlabel('n');ylabel('h(n)');
subplot(2,2,3);stem(n,y);title('两序列的卷积');
xlabel('n');ylabel('y(n)');
1.2实验结果
2.1matlab程序
x=[ones(1,4)];
N1=length(x);
n1=0:
N1-1;
N2=100;
n2=0:
N2-1;
h=0.8.^n2;
y=conv(x,h);
N=N1+N2-1;
n=0:
N-1;
subplot(1,2,1);stem(n1,x);title('序列x');
xlabel('n');ylabel('x(n)');
subplot(1,2,2);stem(n2,h);title('序列h');
xlabel('n');ylabel('h(n)');
figure,stem(n,y);title('两序列的卷积');
xlabel('n');ylabel('y(n)');
2.2实验结果
3.1matlab程序
x=[ones(1,100)];
N1=length(x);
n1=0:
N1-1;
N2=100;
n2=0:
N2-1;
h=0.8.^n2;
y=conv(x,h);
N=N1+N2-1;
n=0:
N-1;
subplot(2,2,1);stem(n1,x);title('序列x');
xlabel('n');ylabel('x(n)');
subplot(2,2,2);stem(n2,h);title('序列h');
xlabel('n');ylabel('h(n)');
figure,stem(n,y);title('两序列的卷积');
xlabel('n');ylabel('y(n)');
3.2实验结果
三.实验结果分析
实验程序通过直接调用卷积函数实现卷积运算,题目中h(n)=(0.8)nu(n)理论上为一个无限长序列,但在matlab的编程中,只有有限长的序列才可以参与运算,因此只是选取了有限点(100点)的h(n)。
实验二离散傅里叶变换及其应用
一.实验内容
设有离散序列x(n)=cos(0.48πn)+cos(0.52πn)
分析下列三种情况下的幅频特性。
(1)采集数据长度N=16,分析16点的频谱,并画出幅频特性。
采集数据长度N=16,并补零到64点,分析其频谱,并画出幅频特性。
(2)采集数据长度N=64,分析46点的频谱,并画出幅频特性。
观察三幅不同的幅频特性图,分析和比较它们的特点及形成原因。
二.实验程序及实验结果
1.1matlab程序
clc;
N1=16;
n1=0:
15;
x=cos(0.48*pi*n1)+cos(0.52*pi*n1);
stem(n1,x);title('16采样序列x');
xlabel('n');ylabel('x(n)');
y=fft(x);
Y=abs(y);
figure,subplot(121);stem(n1,Y);title('16点频谱');
xlabel('\omega');ylabel('X');
y1=fft(x,64);
Y1=abs(y1);
subplot(122);stem(0:
63,Y1);title('64点频谱');
xlabel('\omega');ylabel('X');
N2=64;
n2=0:
N2-1;
x2=cos(0.48*pi*n2)+cos(0.52*pi*n2);
figure,subplot(121);stem(n2,x2);title('64点采样序列x');
xlabel('n');ylabel('x(n)');
y2=fft(x,46);
Y2=abs(y2);
subplot(122);stem(0:
45,Y2);title('46点频谱');
xlabel('\omega');ylabel('X');
1.2实验结果
三.实验结果分析
从结果中可以看出,对同一离散序列,采样不同的数据长度,其离散傅里叶变换的结果也是不同的,由于x(n)=cos(0.48πn)+cos(0.52πn)为一个周期序列,所以要想得到它的完整的DFT,采样点数小于它的周期数,即至少要分析一个周期的DFT才能得到正确的结果,否则会出现频谱混叠的现象,并且栅栏效应会很严重。
实验三IIR滤波器的设计
一.实验内容
1、设计一个Butterworth数字低通滤波器,设计指标如下:
通带截止频率:
0.2π,幅度衰减不大于1分贝
阻带截止频率:
0.3π,幅度衰减大于15分贝
2、让不同频率的正弦波通过滤波器,验证滤波器性能。
3、分析不同滤波器的特点和结果。
4、编程设计实现IIR滤波器。
二.试验程序及实验结果
1.1matlab程序:
Wp=input('Normalizedpassbandedge=');
Ws=input('Normalizedstopbandedge=');
Rp=input('PassbandrippleindB=');
Rs=input('MinimumstopbandattenuationindB=');
[NWn]=buttord(Wp,Ws,Rp,Rs)
[b,a]=butter(N,Wn);
freqz(b,a,512);
1.2实验结果
当输入如下数据时:
Normalizedpassbandedge=0.3
Normalizedstopbandedge=0.4
PassbandrippleindB=1
MinimumstopbandattenuationindB=15
滤波器的参数图如下:
2.1matlab程序
Wp=0.2;
Ws=0.3;
Rp=1;
Rs=15;
[N,Wn]=buttord(Wp,Ws,Rp,Rs);%用于确定阶次
[b,a]=butter(N,Wn);%用于直接设计巴特沃兹数字滤波器
t=1:
300
I=sin(0.1*pi*t)+sin(0.4*pi*t);
plot(I);
figure;
A=filter(b,a,I);
plot(A);
2.2实验结果
①正弦波的原始波形:
②通过滤波器后的波形:
实验四用窗函数设计FIR滤波器
一.实验内容
选取合适窗函数设计一个线性相位FIR低通滤波器,使它满足如下性能指标:
通带截止频率:
ωp=0.5π,通带截止频率处的衰减不大于3分贝;
阻带截止频率:
ωs=0.66π,阻带衰减不小于40分贝。
二.试验程序及实验结果
1.1matlab程序
wp=0.5*pi;
ws=0.66*pi;
wdelta=ws-wp;
N=ceil(8*pi/wdelta)
ifrem(N,2)==0
N=N+1;
end
Nw=N;
wc=(wp+ws)/2;
n=0:
N-1;
alpha=(N-1)/2;
m=n-alpha+0.00001;
hd=sin(wc*m)./(pi*m);
win=(hanning(Nw))';
h=hd.*win;
freqz(h,1,512)
1.2实验结果
三.实验结果分析
FIR滤波器的特点是其相位特性可以设计为严格的线性,而其幅值可以任意设置,这样就避免了输出波形的相位失真。
由于窗函数法设计FIR滤波器所使用的窗函数有多种,每种窗函数的参数都是不同的,因此在实际应用中,必须根据不同的性能要求选取不同的窗函数。
此程序参考了网上的有关FIR滤波器设计的程序。
实验五综合
一.实验内容
录制一段自己的语音信号,时间为10s左右,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,用MATLAB设计一信号处理系统界面。
二.实验程序及实验结果
1.1matlab程序
fs=8000;%语音信号采样频率为8000
x1=wavread('yuyin.wav');
t=(0:
length(x1)-1)/8000;
y1=fft(x1,2048);%对信号做2048点FFT变换
f=fs*(0:
1023)/2048;
figure
(1)
plot(t,x1)%做原始语音信号的时域图形
gridon;axistight;
title('原始语音信号');
xlabel('time(s)');
ylabel('幅度');
figure
(2)
plot(f,abs(y1(1:
1024)))%做原始语音信号的FFT频谱图
gridon;axistight;
title('原始语音信号FFT频谱')
xlabel('Hz');
ylabel('幅度');
%双线性变换法设计Butterworth滤波器
A1=0.05;A2=0.10;
d=[A1*cos(2*pi*3800*t)+A2*sin(2*pi*3600*t)]';
x2=x1+d;
wp=0.8*pi;
ws=0.85*pi;
Rp=1;
Rs=15;
Fs=8000;
Ts=1/Fs;
wp1=2/Ts*tan(wp/2);%将模拟指标转换成数字指标
ws1=2/Ts*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数
[Z,P,K]=buttap(N);%创建butterworth模拟滤波器
[Bap,Aap]=zp2tf(Z,P,K);
[b,a]=lp2lp(Bap,Aap,Wn);
[bz,az]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换
[H,W]=freqz(bz,az);%绘制频率响应曲线
figure(3)
plot(W*Fs/(2*pi),abs(H))
gridon;axistight;
xlabel('频率(Hz)')
ylabel('频率响应')
title('Butterworth')
f1=filter(bz,az,x2);
figure(4)
subplot(2,1,1)
plot(t,x2)%画出滤波前的时域图
gridon;axistight;
title('滤波前的时域波形');
subplot(2,1,2)
plot(t,f1);%画出滤波后的时域图
gridon;axistight;
title('滤波后的时域波形');
y3=fft(f1,2048);
figure(5)
y2=fft(x2,2048);
subplot(2,1,1);
plot(f,abs(y2(1:
1024)));%画出滤波前的频谱图
gridon;axistight;
title('滤波前的频谱')
xlabel('Hz');
ylabel('幅度');
subplot(2,1,2)
plot(f,abs(y3(1:
1024)));%画出滤波后的频谱图
gridon;axistight;
title('滤波后的频谱')
xlabel('Hz');
ylabel('幅度');
1.2实验结果
①原始语音信号:
②原始语音信号FFT频谱
③滤波器的参数图
④滤波前的时域波形与滤波后的时域波形对比
⑤滤波前的频谱与滤波后的频谱对比
三.实验结果分析
一般语音信号的频带在300-3400HZ之间,带宽窄,频率低。
因此所设计的滤波器应为低通滤波器或者带通滤波器,这里我选择的是低通滤波器。
通过时域波形可以看出信号强度在滤波后下降,说明滤波器存在功率衰减。
滤波前的语音醇厚,滤波后的语音音量变小,略显尖锐,符合实际情况,滤波器效果明显。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实习 实验 报告