文档库 最新最全的文档下载
当前位置:文档库 › 语音信号处理与滤波(数字信号处理课程设计)

语音信号处理与滤波(数字信号处理课程设计)

语音信号处理与滤波(数字信号处理课程设计)
语音信号处理与滤波(数字信号处理课程设计)

《数字信号处理》

课程设计报告

题目:语音信号处理与滤波

专业:通信工程

学号:

姓名:

指导教师:周老师

成绩:

二〇一二年一月三日

一、课程设计目的

综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解。

二、课程设计基本要求及分组

1、对知识点的掌握要求:

(1)熟悉离散信号和系统的时域特性。

(2)掌握序列快速傅里叶变换FFT方法。

(3)学会MATLAB的使用,掌握MATLAB的程序设计方法。

(4)利用MATLAB对语音信号进行频谱分析。

(5)掌握MATLAB设计FIR和IIR数字滤波器的方法。

三、详细设计过程

1、问题描述:录制一段自己的语音信号,取不同的数据点对语音信号进行频谱

分析;对所有数据进行插值和抽取处理,改变抽样率再对信号进行频谱分析;

设计FIR和IIR数字滤波器,并对被抽样后的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。

2、详细操作步骤和部分运行结果

(1)采集语音信号:

利用Windows下的录音机,录制一段自己的话音,时间控制在4s左右;然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。

wavread函数调用格式如下:

y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。

y=wavread(file,N),读取前N点的采样值放在向量y中。

y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。录制并存储语音的程序代码:(函数名'luyin'被主函数‘main’调用)

fs=8000;

t=4;

a=msgbox('请说话...');

x=wavrecord(t*fs,fs,1,'Double');%录制语音信号

close(a);

wavwrite(x,fs,'D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计.wav');% 存储录音信号

原始语音时域信号波形图:

程序代码:

[x1,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计 \课程设计.wav');

sound(x1,fs,bits);%播放语音

figure(1);

subplot(1,1,1);plot(x1); %做原始语音信号的时域图形

title('原始语音信号作品');

xlabel('时间 n');ylabel('音量 n');

运行结果:

(2)对语音信号进行频谱分析:

在MATLAB中,利用函数fft对信号进行快速傅里叶变换,得到信号的频

谱特性。首先画出语音信号的时域波形,然后对语音信号进行频谱分析。程序代码:

[x1,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

忠\课程设计.wav');

y1=fft(x1,1024);

f=fs*(0:511)/1024;

figure(1)

y1=fft(x1); %做length(x1)点的FFT

y1=fftshift(y1);%平移,是频率中心为0

derta_fs = fs/length(x1);%设置频谱的间隔,分辨率

subplot(2,1,1);plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));

%画出原始语音信号的频谱图

title('原始语音信号的频谱杜作品');

subplot(2,1,2); plot(abs(y1(1:1024))); title('原始语音信号FFT频谱

杜作品');

xlabel('点数N');

ylabel('幅值

原始语音信号频谱和FFT转换后的频谱图

(3)设计数字滤波器和画出频率响应:

根据语音信号的特点给出有关滤波器的性能指标:

①低通滤波器性能指标:fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB;

②高通滤波器性能指标:fc=4800Hz,fp=5000Hz,As=100dB,Ap=1dB;

③带通滤波器性能指标:fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,

fc2=3200Hz,As=100dB,Ap=1dB。

首先用窗函数法(矩形窗(Rectangular window)、三角窗(Triangular window)、汉宁窗(Hanning window)、海明窗(Hamming window)、布拉克曼窗(Blackman window)、切比雪夫窗(Chebyshev window)、巴特里特窗(Bartlett window)及凯塞窗(Kaiser window)。)设计上面要求的三种滤波器。在MATLAB中,利用函数fir1设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB 中的函数freqz画出各种滤波器的频率响应。

(4)IIR滤波器的设计过程

IIR低通滤波器:

程序代码:()

fs=8000;

T=1/fs;

duration=3;

[y,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

杜\课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设

计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

xlabel('频率/Hz')

ylabel('幅值/db')

fs=8000;

fp=1000;

fst=1200;

ap=1;

ast=100;

wp=2*fp/fs;

wst=2*fst/fs;

[N,wc]=cheb1ord(wp,wst,ap,ast);

[num,den]=cheby1(N,ap,wc,'low');

[h,w]=freqz(num,den);

subplot(2,1,1);

plot(w/pi,abs(h));grid;

xlabel('\omega/\pi');

ylabel('振幅(幅值)');

title('契比雪夫Ⅰ型低通滤波器的幅频响应');

subplot(2,1,2);

plot(w/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi');

ylabel('振幅(分贝)');

title('契比雪夫Ⅰ型低通滤波器的幅频响应');

y0=filter(num,den,y);

fftwav=fft(y0);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y0);

title('通过契比雪夫Ⅰ型低通滤波器后的信号图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1))));

title('滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y0,fs,'D:\MATLAB\R2010b\work\数字信号课程设计 \ 课程设计IIR_LP.wav');

[y0,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

杜\课程设计IIR_LP.wav');%语音回放

soundview(y0,fs,'课程设计IIR_LP.wav

运行结果如下图:

IIR高通滤波器设计

程序代码:

fs=8000;

T=1/fs;

duration=3;

[y,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

忠\课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜艺忠\课程设计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

xlabel('频率/Hz')

ylabel('幅值/db')

Fs=16000;

fp=4000;

fst=3800;

ap=1;

ast=100;

wp=2*fp/Fs;

wst=2*fst/Fs;

[N,wc]=cheb1ord(wp,wst,ap,ast);

[num,den]=cheby1(N,ap,wc,'high');

[h,w]=freqz(num,den);

subplot(2,1,1);

plot(w/pi,abs(h));grid;

xlabel('\omega/\pi');

ylabel('振幅(幅值)');

title('契比雪夫Ⅰ型高通滤波器的幅频响应');

subplot(2,1,2);

plot(w/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi');

ylabel('振幅(分贝)');

title('契比雪夫Ⅰ型高通滤波器的幅频响应');

y0=filter(num,den,y);

fftwav=fft(y0);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y0);

title('通过契比雪夫Ⅰ型高通滤波器后的信号图形') xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1))));

title('滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y0,fs,'D:\MATLAB\R2010b\work\数字信号课程设计 \课程设计IIR_HP.wav');

[y0,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

忠\课程设计IIR_HP.wav');%语音回放

soundview(y0,fs,'课程设计IIR_HP.wav');

程序运行结果如下图:

IIR带通滤波器的设计

程序代码:

fs=8000;

T=1/fs;

duration=3;

[y,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

忠\课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

xlabel('频率/Hz')

ylabel('幅值/db')

fs=8000;

ast=100;

ap=1;

wp=[1200 3000]*2/fs;

wst=[1000 3200]*2/fs;

[N,wn]=cheb1ord(wp,wst,ap,ast);

[num,den]=cheby1(N,ap,wn);

[h,w]=freqz(num,den);

subplot(2,1,1);

plot(w/pi,abs(h));grid;

xlabel('\omega/\pi');

ylabel('振幅(幅值)');

title('契比雪夫Ⅰ型带通滤波器的幅频响应'); subplot(2,1,2);

plot(w/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi');

ylabel('振幅(分贝)');

title('契比雪夫Ⅰ型带通滤波器的幅频响应'); y1=filter(num,den,y);

fftwav=fft(y1);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y1);

title('通过IIR带通滤波器后的信号图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1))));

title('带通IIR滤波器滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y1,fs,'D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计IIR_BP.wav');

[y1,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

忠\课程设计IIR_BP.wav');%语音回放)

soundview(y1,fs,'课程设计IIR_BP.wav');

程序运行结果:

(5)FIR滤波器的设计

FIR低通滤波器:

程序代码:

fs=8000;

T=1/fs;

duration=3;

[y,fs,sbits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计

杜艺\课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设

计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形 ')

xlabel('时间/t')

ylabel('幅值 ')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

xlabel('频率/Hz')

ylabel('幅值/db')

fs=8000;

fp=1000;

fb=1200;

ap=1;

ast=100;

wp=2*pi*fp/fs;

wst=2*pi*fb/fs;

deltaW=wst-wp;

wc=(wst+wp)/2;

N=ceil(2*6.4*pi/deltaW);

hdWindow=ideallp(wc,N);%---ideallp()函数(非系统自有函数)在系

统安装目录的WORK子目录中,ideallp.m

wdWindow=Kaiser(N,10.056);

hr=wdWindow.*hdWindow';

n=0:N-1;

subplot(2,2,1);

stem(n,wdWindow);

xlabel('时间')

ylabel('振幅作品')

title('凯泽窗')

subplot(2,2,2);

stem(n,hr);

xlabel('时间')

ylabel('振幅')

title('凯泽窗冲激响应')

[H,W]=freqz(hr,1);

subplot(2,2,3);

plot(W/pi,abs(H));

xlabel('\omega/\pi')

ylabel('绝对振幅')

title('低通滤波器幅频特性(1)') subplot(2,2,4);

plot(W/pi,20*log10(abs(H)));

xlabel('\omega/\pi')

ylabel('相对振幅')

title('低通滤波器幅频特性(2)')

y0=fftfilt(hr,y);

fftwav=fft(y0);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y0);

title('通过凯泽低通滤波器后的信号图形') xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1)))); title('滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y0,fs,'D:\MATLAB\R2010b\work\数字信号课程设计艺\

课程设计FIR_LP.wav');

[y0,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计FIR_LP.wav');%语音回放

soundview(y0,fs,'课程设计FIR_LP.wav');

程序运行结果:

FIR高通滤波器:

程序代码:

fs=8000;

T=1/fs;

duration=3;

[y,fs,sbits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计忠\课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

xlabel('频率/Hz')

ylabel('幅值/db')

Fs=16000;

fp=4000;

fst=3800;

ast=100;

ap=1;

wp=2*pi*fp/Fs;

wst=2*pi*fst/Fs;

wc=(wst+wp)/2;

deltaW=wp-wst;

N0=ceil(2*6.4*pi/deltaW); %---查表7-3(P342)凯泽窗

N=N0+mod(N0+1,2); %---确保N为奇数

N=ceil(2*6.4*pi/deltaW);

hdWindow=ideallp(pi,N)-ideallp(wc,N);%---ideallp()函数(非系统自有函数)在系统安装目录的WORK子目录中,ideallp.m

wdWindow=Kaiser(N,10.056);

hr=wdWindow.*hdWindow';

n=0:N-1;

subplot(2,2,1);

stem(n,wdWindow);

xlabel('时间')

ylabel('振幅')

title('凯泽窗')

subplot(2,2,2);

stem(n,hr);

xlabel('时间')

ylabel('振幅')

title('凯泽窗冲激响应')

[H,W]=freqz(hr,1);

subplot(2,2,3);

plot(W/pi,abs(H));

xlabel('\omega/\pi')

ylabel('绝对振幅')

title('凯泽高通滤波器幅频特性(1)')

subplot(2,2,4);

plot(W/pi,20*log10(abs(H)));

xlabel('\omega/\pi')

ylabel('相对振幅')

title('凯泽高通滤波器幅频特性(2)')

y0=fftfilt(hr,y);

fftwav=fft(y0);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y0);

title('通过凯泽高通滤波器后的信号图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1))));

title('凯泽高通滤波器滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y0,fs,'D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计FIR_HP.wav');

[y0,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计忠\课程设计FIR_HP.wav');%语音回放

soundview(y0,fs,'课程设计FIR_HP.wav');

程序运行结果:

FIR带通滤波器:

程序代码:

fs=8000;

T=1/fs;

duration=3;

[y,fs,sbits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计 \课程设计.wav');

soundview('D:\MATLAB\R2010b\work\数字信号课程设计杜\课程设计.wav');

N=length(y);

t=(1:N)/fs;

df=fs/N;

n1=1:N/2;

f=(n1-1)*df;

subplot(2,1,1);

plot(y);

title('原始信号时域的图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,1,2);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('原始信号频谱图形')

ylabel('幅值/db')

fs=8000;

fp1=1200;

fp2=3000;

fst1=1000;

fst2=3200;

ast=100;

ap=1;

wp1=2*pi*fp1/fs;

wp2=2*pi*fp2/fs;

wst1=2*pi*fst1/fs;

wst2=2*pi*fst2/fs;

wc1=(wst1+wp1)/2;

wc2=(wst2+wp2)/2;

deltaW=min((wp1-wst1),(wst2-wp2));

N0=ceil(2*6.4*pi/deltaW); %---查表7-3(P342)凯泽窗

N=N0+mod(N0+1,2); %---确保N为奇数

N=ceil(2*6.4*pi/deltaW);

hdWindow=ideallp(wc2,N)-ideallp(wc1,N);%---ideallp()函数(非系统自有函数)在系统安装目录的WORK子目录中,ideallp.m

wdWindow=Kaiser(N,10.056);

hr=wdWindow.*hdWindow';

n=0:N-1;

subplot(2,2,1);

stem(n,wdWindow);

xlabel('时间')

ylabel('振幅')

title('凯泽窗')

subplot(2,2,2);

stem(n,hr);

xlabel('时间')

ylabel('振幅')

title('凯泽窗冲激响应')

[H,W]=freqz(hr,1);

subplot(2,2,3);

plot(W/pi,abs(H));

xlabel('\omega/\pi')

ylabel('绝对振幅')

title('带通滤波器幅频特性(1)')

subplot(2,2,4);

plot(W/pi,20*log10(abs(H)));

xlabel('\omega/\pi')

title('带通滤波器幅频特性(2)')

y0=fftfilt(hr,y);

fftwav=fft(y0);

subplot(2,2,1);

plot(y);

title('原始信号的波形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,2);

plot(y0);

title('通过带通滤波器后的信号图形')

xlabel('时间/t')

ylabel('幅值')

subplot(2,2,3);

q=fft(y);

plot(f,20*log10(abs(q(n1))));

title('滤波前的信号频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

subplot(2,2,4);

plot(f,20*log10(abs(fftwav(n1))));

title('带通滤波器滤波后信号的频谱图')

xlabel('频率/Hz')

ylabel('幅值/db')

wavwrite(y0,fs,'D:\MATLAB\R2010b\work\数字信号课程设计 \课程

设计FIR_BP.wav');

[y0,fs,bits]=wavread('D:\MATLAB\R2010b\work\数字信号课程设计杜艺

忠\课程设计FIR_BP.wav');%语音回放

soundview(y0,fs,'课程设计FIR_BP.wav');

程序运行结果:

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

滤波器语音信号去噪讲解

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

数字信号处理课程设计报告

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

基于matlab的语音信号滤波处理——数字信号处理课程设计

数字信号处理课程设计 题目:基于matlab的语音信号滤波处理学院:物理与电子信息工程 专业:电子信息工程 班级: B07073041 学号: 200932000066 姓名:高珊 指导教师:任先平

摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录 1.设计内容 (4) 2.设计原理 (4) 2.1语音信号的时域分析 (4) 2.2语音信号的频域分析 (5) 3.设计过程 (5) 3.1实验程序源代码 (6) 3.1.1原语音信号时域、频域图 (6) 3.1.2低通滤波器的设计 (6) 3.1.3高通滤波器的设计 (7) 3.1.4带通滤波器的设计 (8) 3.1.5语音信号的回放 (9) 3.2调试结果描述 (10) 3.3所遇问题及结果分析 (15) 3.3.1所遇主要问题 (16) 3.3.2结果分析 (16) 4.体会与收获 (17) 5.参考文献 (17)

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论.............................................................................................................. 错误!未定义书签。 1.1课题背景及意义................................................................................. 错误!未定义书签。 1.2国内外研究现状................................................................................. 错误!未定义书签。 1.3本课题的研究内容和方法................................................................. 错误!未定义书签。 1.3.1 研究内容................................................................................ 错误!未定义书签。 1.3.2 开发环境................................................................................ 错误!未定义书签。 2 语音信号处理的总体方案............................................................................ 错误!未定义书签。 2.1 系统基本概述.................................................................................... 错误!未定义书签。 2.2 系统基本要求与目的........................................................................ 错误!未定义书签。 2.3 系统框架及实现................................................................................ 错误!未定义书签。 2.3.1 语音信号的采样.................................................................... 错误!未定义书签。 2.3.2 语音信号的频谱分析............................................................ 错误!未定义书签。 2.3.3 音乐信号的抽取.................................................................... 错误!未定义书签。 2.3.4 音乐信号的AM调制.............................................................. 错误!未定义书签。 2.3.5 AM调制音乐信号的同步解调............................................... 错误!未定义书签。 2.4系统设计流程图................................................................................. 错误!未定义书签。 3 语音信号处理基本知识................................................................................ 错误!未定义书签。 3.1语音的录入与打开............................................................................. 错误!未定义书签。 3.2采样位数和采样频率......................................................................... 错误!未定义书签。 3.3时域信号的FFT分析......................................................................... 错误!未定义书签。 3.4切比雪夫滤波器................................................................................. 错误!未定义书签。 3.5数字滤波器设计原理......................................................................... 错误!未定义书签。 4 语音信号实例处理设计................................................................................ 错误!未定义书签。 4.1语音信号的采集................................................................................. 错误!未定义书签。

信号系统处理 语音信号滤波处理

数字信号处理实验报告 实验名称:基于MATLAB对语音信号 进行分析及滤波处理 院系:物联网工程学院 班级:电子信息工程1101 姓名:

一、实验目的 综合计算运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。 二、实验要求 1.分析原始语音信号的时域特性和频谱特性。 2.设计一个IIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 3.设计一个FIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 三、实验原理 1.采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。 采样频率越高,即采样的时间间隔越短,对声音波形的表示越精确。 2.时域信号的FFT分析:信号的频谱分析就是计算机信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。 3.IIR数字滤波器设计原理利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式

数字信号处理课设+语音信号的数字滤波

语音信号的数字滤波 ——利用双线性变换法实现IIR数字滤波器的设计一.课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。 二.设计方案论证 1.IIR数字滤波器设计方法 IIR数字滤波器是一种离散时间系统,其系统函数为 假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它 是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。 2.用双线性变换法设计IIR数字滤波器 脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换 平面的-π/T~π到Z平面上。也就是说,第一步先将整个S平面压缩映射到S 1 /T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。 图1双线性变换的映射关系 为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

基于MATLAB的语音信号FIR数字滤波处理

目录 1 绪论 (2) 2课程设计的具体实现 (4) 2.1 语音信号的录制 (4) 2.2 FIR滤波器的设计方法 (4) 3语音信号的时频分析 (5) 3.1语音信号载入MATLAB (5) 3.2语音信号时域和频域分析 (6) 3.3设计FIR数字滤波器 (7) 3.3.1 窗函数hamming设计带通滤波器 (8) 3.3.2 窗函数hanning设计带通滤波器 (9) 3.3.3 窗函数Blackman设计带通滤波器 (10) 3.3.4 窗函数Boxcar设计带通滤波器 (11) 3.4滤波之后的时域和频域分析 (12) 3.4.1 窗函数hamming设计带通滤波器滤波 (13) 3.4.2 窗函数hanning设计带通滤波器滤波 (13) 3.4.3 窗函数Blackman设计带通滤波器滤波 (14) 3.4.4 窗函数Boxcar设计带通滤波器滤波 (15) 3.5回放语音信号 (16)

结论 (16) 参考文献 (18) 1 绪论 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

语音信号的FIR滤波器处理课程设计

DSP课程设计报告语音信号的FIR滤波器处理 姓名:张伟槟 班级:12电信3 学号:201231190425 指导老师:徐梅宣 日期:2015.06.02~2014.06.19 华南农业大学电子工程学院

摘要 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。 CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。 在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。最后在DSP中实现了FIR低通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。 关键词:语音信号处理 FIR滤波 MATLAB CCS

目录 1.前言 (4) 2.设计需求 (4) 3.滤波器设计原理介绍 (4) 3.1数字滤波器设计原理 (4) 3.2FIR滤波器的基本结构 (5) 3.3 滤波器的特点 (5) 3.4窗函数的介绍 (6) 4.FIR滤波器的设计 (7) 4.1FIR滤波器设计 (7) 4.2窗函数设计的基本方法 (7) 4.3滤波器的1 z算法实现 (7) 5.FIR滤波器的MATLAB设计 (8) 6.FIR滤波器的DSP实现 (10) 6.1CCS设计与仿真 (10) 6.2CCS仿真结果 (13) 6.调试问题及解决办法 (16) 7.设计感想 (16) 参考文献 (17) 8.附录 (17)

语音信号处理试验教程

语音信号处理试验 实验一:语音信号时域分析 实验目的: (1)录制两段语音信号,内容是“语音信号处理”,分男女声。 (2)对语音信号进行采样,观察采样后语音信号的时域波形。 实验步骤: 1、使用window自带录音工具录制声音片段 使用windows自带录音机录制语音文件,进行数字信号的采集。启动录音机。录制一段录音,录音停止后,文件存储器的后缀默认为.Wav。将录制好文件保存,记录保存路径。男生女生各录一段保存为test1.wav和test2.wav。 图1基于PC机语音信号采集过程。 2、读取语音信号 在MATLAB软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样、采样频率、采样位数等概念! Wavread函数调用格式: y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取前N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 3、编程获取语音信号的抽样频率和采样位数。 语音信号为test1.wav和test2.wav,内容为“语音信号处理”,两端语音保存到工作空间work文件夹下。在M文件中分别输入以下程序,可以分两次输入便于观察。 [y1,fs1,nbits1]=wavread('test1.wav') [y2,fs2,nbits2]=wavread('test2.wav') 结果如下图所示 根据结果可知:两端语音信号的采样频率为44100HZ,采样位数为16。 4、语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且夜市最直观的是它的时域波形。语音信

根据MATLAB的加噪语音信号的滤波

《计算机仿真技术》 基于MATLAB的加噪语音信号的滤波学生姓名: 专业:电子信息工程 班级: 学号: 指导教师: 完成时间:2017年12月

一.滤波器的简述 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。 在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。 数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。二.设计要求 1.在matlab平台上录制一段语音信号; 2.完成语音信号的谱分析; 3.对语音信号进行加噪以及加噪后信号的谱分析; 4.选择合适的滤波器进行滤波,确定相关指标; 5.实现滤波过程,显示滤波后的结果,并进行谱分析。 三.实验内容与步骤 1、语音信号的录入

数字信号处理课程规划报告

数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》 专业: 班级: 姓名: 指导老师: 二0 0五年一月一日

目录 设计过程步骤() 2.1 语音信号的采集() 2.2 语音信号的频谱分析() 2.3 设计数字滤波器和画出其频谱响应() 2.4 用滤波器对信号进行滤波() 2.5滤波器分析后的语音信号的波形及频谱() ●心得和经验()

设计过程步骤 2.1 语音信号的采集 我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下: [x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]); sound(x,fs,bite); 2.2 语音信号的频谱分析 首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1); y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:

语音滤波实验报告

DSP技术及应用课程设计 语音滤波处理 院系:机电工程学院 专业(班级):电子信息工程2班 姓名:洪育钦 学号: 20134082033 指导教师:韩杨杨 职称:助教 完成日期: 2016年 6月 16日 成绩:

目录 1.引言 (1) 1.2 设计的目的 (1) 1.3设计指标要求 (2) 2滤波器的基础知识 (2) 2.1 滤波器的定义 (2) 2.2 滤波器的功能 (3) 2.3滤波器的特点 (3) 2.4 FIR数字滤波器的窗函数设计 (4) 3.FIR滤波器设计与实现过程 (5) 3.1 FIR滤波器设计指标 (5) 3.2 FIR滤波器设计过程 (6) 3.2.2 FIR滤波器的matlab实现 (6) 3.2.3 FIR滤波器的CCS实现 (8) 3.3 FIR滤波器设计结果 (9) 4.设计过程中遇到的问题及解决的办法 (11) 参考文献 (12) 附录 (12)

语音信号的FIR滤波器处理 1.引言 随着信息时代和数字世界的到来,数字信号处理已成为如今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。 数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、相结合的产物。一门主流技术,随着信息处理技术的飞速发展,计算机技术和数字信号处理技术逐渐发展成为使它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。 数字滤波是语音处理、图像处理、频谱分析等应用中的基本处理算法。DSP 是一种处理数字信号的专用微处理器, 主要应用于实时快速地实现各种信号的数字处理算法。用 DSP 芯片实现数字滤波具有稳定性好、精确度高、不受环境影响等优点。 数字滤波器分为有限冲激响应滤波器(FIR滤波器)和无限冲激响应滤波器(IIR滤波器)。FIR 滤波器属于经典滤波器,优点就是由于不存在系统极点,FIR 滤波器是绝对稳定的系统,FIR 滤波器还确保了线性相位,在信号处理中占有极其重要的地位。数字滤波器一直以来就是数字信号处理器(DSP)最广为人知的应用,FIR 滤波器的单位冲激响应 b(n)为有限长序列,若 b(n)为实数, 且满足偶对称:b(n)= b(N- 1- n)的条件, 称为系数对称FIR 滤波器。系数对称 FIR 滤波器在数字信号处理中应用十分广泛。 1.2 设计的目的

数字信号处理课程设计

数字信号处理 课 程 设 计 院系:电子信息与电气工程学院 专业:电子信息工程专业 班级:电信班 姓名: 学号: 组员:

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯

目录 摘要 (1) 1 引言 (1) 1.1课程设计目的 (1) 1.2 课程设计内容及要求 (1) 1.3课程设计设备及平台 (1) 1.3.1 数字滤波器的简介及发展 (1) 1.3.2 MATLAB软件简介 (2) 2 课程设计原理及流程 (4) 3.课程设计原理过程 (4) 3.1 语音信号的采集 (4) 3.2 语音信号的时频分析 (5) 3.3合成后语音加噪声处理 (7) 3.3.1 噪声信号的时频分析 (7) 3.3.2 混合信号的时频分析 (8) 3.4滤波器设计及消噪处理 (10) 3.4.1 设计IIR和FIR数字滤波器 (10) 3.4.2 合成后语音信号的消噪处理 (13) 3.4.3 比较滤波前后语音信号的波形及频谱 (13) 3.4.4回放语音信号 (15) 3.5结果分析 (15) 4 结束语 (15) 5 参考文献 (16)

基于MATLAB的有噪声的语音信号处理的课程设计

DSP实验课程设计实验报告 姓名:学号:班级: 1.课程设计题目: 基于MATLAB的有噪声的语音信号处理的课程设计。 2.课程设计的目的: 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,再利用MATLAB做为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 3.课程设计的要求: (1)熟悉离散信号和系统的时域特性。 (2)掌握序列快速傅里叶变换FFT方法。 (3)学会MATLAB的使用,掌握MATLAB的程序设计方法。 (4)利用MATLAB对语音信号进行频谱分析。 (5)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。 4.课程设计的内容: 录制一段语音信号,对语音信号进行频谱分析,利用MATLAB中的随机函数产生噪声加入到语音信号中,使语音信号被污染,然后进行频谱分析,设计FIR和IIR数字滤波器,并对噪声污染的语音信号进行滤波,分析滤波后的信号的时域和频域特征,回放语音信号。 5.课程设计的步骤: (1)语音信号的获取 通过录音软件录制一段语音“数字信号处理”,命名为“OriSound”,时长大约1到2秒,在MATLAB中,通过使用wavread函数,对语音进行采样: [y,fs,nbits]=wavread('OriSound'); %语音信号的采集 采样值放在向量y中,采样频率为fs,采样位数为nbits。

(2)语音信号的频谱分析 画出语音信号的时域波形,然后对语音信号进行频谱分析,在MATLAB中,通过使用fft 函数对信号进行快速傅里叶变换,得到信号的频谱特性。 因此采集语音并绘出波形和频谱的模块程序如下: [y,fs,nbits]=wavread('OriSound'); %语音信号的采集 sound(y,fs,nbits); %语音信号的播放 n=length(y) ; %计算语音信号的长度 Y=fft(y,n); %快速傅里叶变换 figure; subplot(2,1,1); %绘出时域波形 plot(y); title('原始信号波形','fontweight','bold'); axis([ 00000 80000 -1 1]); %通过尝试确定合适的坐标参数 grid; subplot(2,1,2); %绘出频域频谱 plot(abs(Y)); title('原始信号频谱','fontweight','bold'); axis([ 0 150000 0 4000]); %通过尝试确定合适的坐标参数 grid; 结果如下:

语音信号的处理与滤波

广西工学院 数字信号处理课程设计设计题目:语音信号的处理与滤波 系别: 学号: 姓名: 班级: 指导教师: 完成日期:

目录 1. 摘要 (3) 2.MATLAB简介 (3) 3.设计目的 (4) 4.设计内容 (4) 5.设计原理 (4) 6.设计步骤 (5) 7.总结与分析 (10) 8.参考资料 (10)

摘要 本课题分析了数字信号处理课程的重要性及特点,可以帮助理解与掌握课程中的基本概念、基本原理、基本分析方法;并利用MATLAB对语音信号进行分析和处理,要求采集语音信号后,在MATLAB软件平台进行频谱分析。用设计的数字滤波器对语音信号进行了滤波 MATLAB简介 MATLAB 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: ?数学和计算 ?算法开发 ?建模,模拟和原形化 ?数据分析,探索和可视化 ?科学与工程制图 ?应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。 . 名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLA B使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。 MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。 MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。

相关文档
相关文档 最新文档