加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

(matlab)声音信号的分析与处理【转载】

(2011-02-22 20:56:54)
标签:

matlab

it

分类: 软件

声音信号的分析与处理

信号专区 2009-12-11 19:42:00 阅读240 评论0   字号: 订阅

 

处理要求:

1、  利用windows里的录音机等工具,记录声音“信号”,最好存储为wav的单声道格式;

2、  对此信号的频谱进行分析,写出其频谱特征;

3、  分别设计低通,高通和带通滤波器对此信号进行处理,试听处理后的结果;

4、  (选做)对此信号进行纯相位滤波或其他的处理;

5、  写出相应的分析与处理的报告,报告中要插入有关的图件(要有分析)和分析与处理的程序;

6、  将报告、程序和处理前后的声音信号发送到邮箱。

 

  声音信号的分析与处理

班级:勘查07--1班  姓名:孙—— 学号:07012105

1、对此信号的频谱进行分析,写出其频谱特征

clc;clear;close;

[y,fs]=wavread('xinhao.wav');

sound(y,fs);

figure(1)

plot(y);

title('声音的原始信号');

m=fft(y);

figure(2)

am=abs(m);

plot(am);

title('傅里叶变换');

1、原始声音信号图像如下

http://img.bimg.126.net/photo/S_trRvQ7qJiBD2zMSU0Wgw==/2829104990920464361.jpg

2、原始信号的傅里叶变换如下

http://img.bimg.126.net/photo/94NtjuofO_T3K5-2fWCRTA==/2829104990920464366.jpg

 

 从以上图像可以看出声音信号的频率主要集中2000hz以内

人声音的频率范围:国际通信标准制定为300Hz-3400Hz! (来自百度知道)

 

2、对此信号分别设计低通、高通和带通滤波器对此信号进行处理

?低通滤波器的设计:程序如下

%低通滤波

clc;clear;close;

[y,fs]=wavread('xinhao.wav');

%sound(y,fs)

N=length(y);

%sound(y,fs/4)

Ts=1/fs;

t=[0:N-1]*Ts;

Y=fft(y,N);

f1=fs/N;

f=[0:N-1]*f1;

f0=500;

K0=f0/f1;

Y(1:K0)=Y(1:K0)*30;

Y(K0+1:N-K0)=Y(K0+1:N-K0)*0;

Y(N-K0+1:N)=Y(N-K0+1:N)*30;

plot(f,abs(Y));

title('低通滤波频谱图');

y0=ifft(Y);

sound(real(y0)*0.1,fs);

wavwrite(y0,fs,'ditong.wav');

低通处理过后的频谱图

http://img.bimg.126.net/photo/4jE2fmGmmcYbskQsYJwIcQ==/2829104990920464370.jpg

 

?高通滤波器的设计:程序如下

%高通滤波

clc;clear;close;

[y,fs]=wavread('xinhao.wav');

%sound(y,fs)

N=length(y);

%sound(y,fs/4)

Ts=1/fs;

t=[0:N-1]*Ts;

Y=fft(y,N);

f1=fs/N;

f=[0:N-1]*f1;

f0=4000;

K0=f0/f1;

Y(1:K0)=Y(1:K0)*0;

Y(K0:N-K0+1)=Y(K0:N-K0+1)*30;

Y(N-K0+1:N)=Y(N-K0+1:N)*0

plot(f,abs(Y));

title('高通滤波频谱图');

y0=ifft(Y);

sound(real(y0)*0.1,fs);

wavwrite(y0,fs,'gaotong.wav');

高通处理过后的频谱图

http://img.bimg.126.net/photo/FVwPN1n2ipHhoVFypnPBpw==/2829104990920464375.jpg

 

?带通滤波器的设计:程序如下

%带通滤波

clc;clear;close;

[y,fs]=wavread('xinhao.wav');

%sound(y,fs)

N=length(y);

%sound(y,fs/4)

Ts=1/fs;

t=[0:N-1]*Ts;

Y=fft(y,N);

f1=fs/N;

f=[0:N-1]*f1;

f0=2000;K0=f0/f1;

f2=3000;K1=f2/f1;

Y(1:K0)=Y(1:K0)*0;

Y(K0:K1)=Y(K0:K1)*30;

Y(K1+1:N-K1)=Y(K1+1:N-K1)*0;

Y(N-K1+1:N-K0+1)=Y(N-K1+1:N-K0+1)*30;

Y(N-K0+1:N)=Y(N-K0+1:N)*0;

plot(f,abs(Y));

title('带通滤波频谱图');

y0=ifft(Y);

sound(real(y0)*0.1,fs);

wavwrite(y0,fs,'daitong.wav');

带通滤波处理过后的频谱图

http://img.bimg.126.net/photo/0xXjG9egOlqZuTq9qPk7cA==/2829104990920464402.jpg

 

2、信号加噪处理:程序及图像如下

clc;clear;close;

[y,fs]=wavread('xinhao.wav');

%sound(y,fs);

randn('state',0);

m=randn(size(y));%产生一与y长度一致的随机信号

y1=0.1*m+y;

sound(y1,fs);

subplot(2,1,1);

plot(y1);

y2=fft(y1);

subplot(2,1,2)

plot(abs(y2));

wavwrite(y2,fs,'jiazao.wav');

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有