实验 7MAtlab 语音仿真系统 实验报告

时间:2024.4.21

班级   信工082   学号      16     姓名     刘刚     实验组别             

实验日期          室温             报告日期               成绩             

报告内容:(目的和要求,原理,步骤,数据,计算,小结等)

实验七 语音处理系统仿真(综合滤波器设计)

一 代码:

(1)主程序:

x=wavread('login.wav');

n=0:1/22050:(size(x)-1)/22050;

x_dft=fft(x);%DFT

[x_dtft w]=freqz(x);%DTFT

subplot(2,2,1);

plot(n,x); title('原语音信号x1');

subplot(2,2,2);plot(n,abs(x_dft));

title('x的DFT变换结果x2'); grid on;

subplot(2,2,3); plot(w/pi,abs(x_dtft));

title('x2的幅度相位响应');grid on;

subplot(2,2,4);plot(w/pi,unwrap(angle(x_dtft)));

title('x2的相位相位响应');grid on;

%用FIR滤波器进行滤波

[y_low b_low]=lowpass_fir_filter(x);%调用FIR低通滤波器函数

[y_band b_band]=bandpass_fir_filter(x);%调用FIR带通滤波器函数

[y_high b_high]=highpass_fir_filter(x);%调用FIR高通滤波器函数

[hh_low ww_low]=freqz(b_low,1,512);

[hh_band ww_band]=freqz(b_band,1,512);

[hh_high ww_high]=freqz(b_high,1,512);

[h_low w_low]=freqz(y_low);

[h_band w_band]=freqz(y_band);

[h_high w_high]=freqz(y_high);

figure ;subplot(3,3,1); plot(ww_low/pi,20*log10(abs(hh_low)));

title('FIR低通滤波器');grid on;

subplot(3,3,2);plot(n,y_low);

title('经FIR低通滤波后的信号x1'); grid on;

subplot(3,3,3); plot(w_low/pi,abs(h_low));

title('x1的幅度相位响应');  grid on;

subplot(3,3,4); plot(ww_band/pi,20*log10(abs(hh_band)));

title('FIR带通滤波器');  grid on;

subplot(3,3,5); plot(n,y_band);

title('经FIR带通滤波后的信号x2'); grid on;

subplot(3,3,6); plot(w_band/pi,abs(h_band));

title('x2的幅度相位响应');  grid on;

subplot(3,3,7); plot(ww_high/pi,20*log10(abs(hh_high)));

title('FIR高通滤波器'); grid on;

subplot(3,3,8); plot(n,y_high);

title('经FIR高通滤波后的信号x3'); grid on;

subplot(3,3,9); plot(w_high/pi,abs(h_high));

title('x3的幅度相位响应');  grid on;

%用IIR滤波器进行滤波

[y_low bz_low az_low]=lowpass_iir_filter(x);%调用IIR低通滤波器函数

[y_band bz_band az_band]=bandpass_iir_filter(x);%调用IIR带通滤波器函数

[y_high bz_high az_high]=highpass_iir_filter(x);%调用IIR高通滤波器函数

[hh_low ww_low]=freqz(bz_low,az_low,256,1);

[hh_band ww_band]=freqz(bz_band,az_band,256,1);

[hh_high ww_high]=freqz(bz_high,az_high,256,1);

[h_low w_low]=freqz(y_low);

[h_band w_band]=freqz(y_band);

[h_high w_high]=freqz(y_high);

figure (3);subplot(3,3,1); plot(ww_low,abs(hh_low));

title('IIR低通滤波器');  grid on;

subplot(3,3,2);plot(n,y_low);

title('经IIR低通滤波后的信号x1'); grid on;

subplot(3,3,3); plot(w_low/pi,abs(h_low));

title('x1的幅度相位响应');  grid on;

subplot(3,3,4); plot(ww_band,abs(hh_band));

title('IIR带通滤波器');  grid on;

subplot(3,3,5); plot(n,y_band);

title('经IIR带通滤波后的信号x2'); grid on;

subplot(3,3,6); plot(w_band/pi,abs(h_band));

title('x2的幅度相位响应');  grid on;

subplot(3,3,7); plot(ww_high,abs(hh_high));

title('IIR高通滤波器'); grid on;

subplot(3,3,8); plot(n,y_high);

title('经IIR高通滤波后的信号x3'); grid on;

subplot(3,3,9); plot(w_high/pi,abs(h_high));

title('x3的幅度相位响应');  grid on;

(1)主程序:

1) FIR低通滤波器

function [y b]=bandpass_fir_filter(x)

w1=0.4*pi; w2=0.7*pi;

wn=[w1 w2];

wdelta=w2-w1;

M=ceil(3.32*pi/wdelta);

N=2*M+1;

win=hamming(N);

b=fir1(N-1,wn/pi,'bandpass',win);    

y=filter(b,1,x);

2) FIR高通滤波器

function [y b]=highpass_fir_filter(x)

wp=0.6*pi; ws=0.9*pi;

wdelta=ws-wp;

M=ceil(3.32*pi/wdelta);

N=2*M+1;

wc=(ws+wp)/2;

win=hamming(N);

b=fir1(N-1,wc/pi,'high',win);    

y=filter(b,1,x);

3) FIR带通滤波器

function [y b]=lowpass_fir_filter(x)

wp=0.22*pi; ws=0.46*pi;

wdelta=ws-wp;  

M=ceil(3.32*pi/wdelta);

N=2*M+1;  %´°

wc=(ws+wp)/2; 

win=hamming(N);

b=fir1(N-1,wc/pi,win);    

y=filter(b,1,x);

4) IIR低通滤波器

function [y bz az]=lowpass_iir_filter(x)

rp=1; rs=15; wp=0.25*pi;  ws=0.4*pi;

wap=tan(wp/2);

was=tan(ws/2);

[n,wn]=buttord(wap,was,rp,rs,'s') ;

[z,p,k]=buttap(n);

[bp,ap]=zp2tf(z,p,k);          

[bs,as]=lp2lp(bp,ap,wap);  

[bz,az]=bilinear(bs,as,1/2);

y=filter(bz,az,x);

5) IIR高通滤波器

function [y bz az]=highpass_iir_filter(x)

rp=1; rs=15;

wp=0.7*pi;  ws=0.85*pi; 

wap=tan(wp/2); was=tan(ws/2);

[n,wn]=buttord(wap,was,rp,rs,'s') ;

[z,p,k]=buttap(n);

[bp,ap]=zp2tf(z,p,k);            

[bs,as]=lp2hp(bp,ap,wap);

[bz,az]=bilinear(bs,as,1/2);

y=filter(bz,az,x);

6) IIR带通滤波器

function [y bz az]=bandpass_iir_filter(x)

rp=1; rs=15;

wp=0.35*pi;  ws=0.65*pi; 

wap=tan(wp/2); was=tan(ws/2);

[n,wn]=buttord(wap,was,rp,rs,'s') ;

[z,p,k]=buttap(n);

[bp,ap]=zp2tf(z,p,k);            

[bs,as]=lp2bp(bp,ap,1,0.5);

[bz,az]=bilinear(bs,as,1/2);

y=filter(bz,az,x);

二 结果:


第二篇:信号与系统仿真实验报告3


上机实验三:连续LTI系统频域分析

验证试验

1_3

R=0.02;t=-2:R:2;

f=stepfun(t,-1)-stepfun(t,1);

W1=2*pi*5;         %频率密度

N=500;             %采样数为N

k=0:N;

W=k*W1/N;          %W为频率正半轴的采样点

F=f*exp(-j*t'*W)*R; %求F(jw)

F=real(F);W=[-fliplr(W),W(2:501)];

F=[fliplr(F),F(2:501)];

subplot(2,1,1);plot(t,f);xlabel('t');ylabel('f(t)');axis([-2,2,-0.5,2]);title('f(t)=U(t+1)-U(t-1)');

subplot(2,1,2);plot(W,F);xlabel('W');ylabel('F(W)');title('f(t)的傅立叶变换');

2_1

clear all;

clc;

r=0.02;t=-5:r:5;N=200;Y=2*pi;k=-N:N;w=k*Y/N;

f1=1/2*exp(-2*t).*stepfun(t,0);%f(t)

F=r*f1*exp(-j*t'*w);%f(t)的傅立叶变换

F1=abs(F);P1=angle(F);

subplot(3,1,1);plot(t,f1);grid;xlabel('t');ylabel('f(t)');title('f(t)');

subplot(3,1,2);plot(w,F1);xlabel('w');grid;ylabel('F(jw)');

subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

2_2

clear all;clc;

r=0.02;t=-5:r:5;N=200

Y=2*pi;k=-N:N;w=k*Y/N;

f1=1/2*exp(-2*(t-1)).*stepfun(t,1);%f(t)

F=r*f1*exp(-j*t'*w);               %f(t)的傅立叶变换

F1=abs(F);P1=angle(F);

subplot(3,1,1);plot(t,f1);grid on;xlabel('t');ylabel('f(t)');title('f(t-1)')

subplot(3,1,2);plot(w,F1);grid on;xlabel('w');ylabel('F(jw)的模');

subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

2_3

clear all;clc;

R=0.02;t=-2:R:2;f=stepfun(t,-1)-stepfun(t,1);

f1=f.*exp(-j*10*t);

f2=f.*exp(j*10*t);

W1=2*pi*5;

N=500;k=-N:N;W=k*W1/N;

F1=f1*exp(-j*t'*W)*R;      %f1(t)傅立叶变换

F2=f2*exp(-j*t'*W)*R;      %f2(t)傅立叶变换

F1=real(F1);F2=real(F2);

subplot(2,1,1);plot(W,F1);xlabel('w');ylabel('F1(jw)');title('频谱F1(jw)');

subplot(2,1,2);plot(W,F2);xlabel('w');ylabel('F2(jw)');title('频谱F2(jw)');

设计实验

1_2

clear all;

clc;

r=0.02;t=-5:r:5;N=200;Y=2*pi;k=-N:N;w=k*Y/N;

f1=exp(-3*t).*stepfun(t,0);%f(t)

F=r*f1*exp(-j*t'*w);%f(t)的傅立叶变换

F1=abs(F);P1=angle(F);

subplot(3,1,1);plot(t,f1);grid;xlabel('t');ylabel('f(t)');title('f(t)');

subplot(3,1,2);plot(w,F1);xlabel('w');grid;ylabel('F(jw)');

subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

1_2_2

clear all;clc;

r=0.02;t=-5:r:5;N=200

Y=2*pi;k=-N:N;w=k*Y/N;

f1=exp(-3*(t-4)).*stepfun(t,1);%f(t)

F=r*f1*exp(-j*t'*w);               %f(t)的傅立叶变换

F1=abs(F);P1=angle(F);

subplot(3,1,1);plot(t,f1);grid on;xlabel('t');ylabel('f(t)');title('f(t-4)')

subplot(3,1,2);plot(w,F1);grid on;xlabel('w');ylabel('F(jw)的模');

subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('相位(度)');

1_2_3

clear all;clc;

R=0.02;t=-20:R:20;f=exp(-3*t).*stepfun(t,0);

f1=f.*exp(-j*4*t);

W1=2*pi*5;

N=500;k=-N:N;W=k*W1/N;

F1=f1*exp(-j*t'*W)*R;      %f1(t)傅立叶变换

F1=real(F1);

plot(W,F1);xlabel('w');ylabel('F1(jw)');title('频谱F1(jw)');

更多相关推荐:
matlab仿真实验报告

Matlab仿真实验报告1实验一数字信号的FFT分析大概在第10周1实验内容及要求1离散信号的频谱分析设信号xn0001cos045nsin03ncos0302n4此信号的03pi和0302pi两根谱线相距很近...

matlab仿真实验报告

20xx211208班08211106号史永涛班内序号01MatLab仿真试验报告实验一数字信号的FFT分析一实验目的通过本次实验应该掌握1用傅立叶变换进行信号分析时基本参数的选择2经过离散时间傅立叶变换DTF...

MM1排队系统仿真matlab实验报告

MM1排队系统实验报告一实验目的本次实验要求实现MM1单窗口无限排队系统的系统仿真利用事件调度法实现离散事件系统仿真并统计平均队列长度以及平均等待时间等值以与理论分析结果进行对比二实验原理根据排队论的知识我们知...

《机械工程控制基础》Matlab仿真实验报告单(实验二) - 副本

红河学院工学院实验报告单机械工程控制基础Matlab仿真实验报告单课程名称机械工程控制基础实验姓名日期20xx126成绩年级专业20xx级机械工程学号20xx01030415实验场地任美福楼222实验二一阶二阶...

Matlab综合实验报告

重庆交通大学学生实验报告实验课程名称开课实验室学院20xx年级通信工程专业2班学生姓名周丙相学号MATLAB编程与系统仿真评分标准目录实验一随机信号峰均功率的求法及其比较4一实验内容及要求4二程序仿真流程图4三...

《Matlab与机电系统仿真》实验报告三

Matlab与机电系统仿真实验报告三班级电气121姓名李凡学号20xx06010116一实验名称Simulink建模与仿真4一实验目的1掌握Simulink建模与仿真的基本方法2熟悉Simulink基本模块库及...

北邮数字信号处理Matlab仿真实验

数字信号处理Matlab实验一离散信号的FFT分析知识点利用FFT对信号频谱进行分析用DFT进行信号分析时基本参数的选择以及信号经过离散时间傅立叶变换DTFT和有限长度离散傅立叶变换DFT后信号频谱上的区别实验...

本部《Matlab与控制系统仿真》实验指导书

机电工程学院Matlab控制系统仿真实验指导书学院班级姓名学号温州大学机电工程学院制温州大学机电学院实验实训指导书实验一MATLAB语言基本命令1实验目的1掌握科学计算的有关方法熟悉MATLAB语言及其在科学计...

《机械工程控制基础》Matlab仿真实验报告单(实验三)

红河学院工学院实验报告单机械工程控制基础Matlab仿真实验报告单课程名称机械工程控制基础实验姓名日期成绩年级专业20xx级机械工程学号实验场地任美福楼222实验三二阶线性系统时域性能指标的Matlab仿真实验...

东南大学自控实验五:MatlabSimulink仿真实验 - 副本

实验五MatlabSimulink仿真实验一实验目的1学习系统数学模型的多种表达方法并会用函数相互转换2学习模型串并联及反馈连接后的系统传递函数3掌握系统BODE图根轨迹图及奈奎斯特曲线的绘制方法并利用其对系统...

北邮MATLab仿真实验报告DSP

北京邮电大学MATLAB仿真实验报告实验日期20xx年12月实验一数字信号的FFT分析1实验内容及要求1离散信号的频谱分析设信号xn0001cos045nsin03ncos0302n4此信号的03pi和0302...

matlab实验报告

重庆交通大学学生实验报告实验课程名称专业综合实验开课实验室交通运输工程实验教学中心学院交通运输年级二年级专业班交通运输1班学生姓名学号63120xx20开课时间20xx至20xx学年第2学期

matlab仿真实验报告(13篇)