声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1499|回复: 14

[编程技巧] 语音信号分析和处理

[复制链接]
发表于 2009-5-13 16:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
题目:利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。以下为题目步骤实践步骤 1.用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱程序: 时域波形和频谱: 2. 给原始的语音信号加上一个高频余弦噪声,频率为(5—6Khz任选)。对加噪后的语音进行分析,并画出其信号时域和频谱图。程序: 时域波形和频谱: 与原始信号对比,区别: 3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:程序: 时域波形和频谱: 与原噪音信号对比,区别

[ 本帖最后由 sigma665 于 2009-5-15 15:58 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-5-13 18:02 | 显示全部楼层
请把标题改成和内容相关,先自己动手编写吧,可以找一段音频自己先试试,不要直接求代码。
help fft, rand, awgn, filter等

评分

2

查看全部评分

发表于 2009-5-13 21:16 | 显示全部楼层
现学生怎一堆到处直接求代码!
作业步骤都有了, 试试看才会真有所得!
 楼主| 发表于 2009-5-14 14:35 | 显示全部楼层
关键我们没用过这个软件,而且时间很紧~~老师只给了这个.所以比较着急~~

[ 本帖最后由 ChaChing 于 2009-5-14 20:41 编辑 ]
发表于 2009-5-14 15:11 | 显示全部楼层
那你直接告诉你老师说你从来没用过这个软件,时间上也不够

评分

1

查看全部评分

 楼主| 发表于 2009-5-14 15:58 | 显示全部楼层

回复 6楼 ydlcsu 的帖子

呵呵~~“给原始的语音信号加上一个高频余弦噪声,频率为(5—6Khz任选)。”关键这个不会编~~~哎~~
发表于 2009-5-14 20:47 | 显示全部楼层
还是需自己试了编, 具体些我想楼上几位及其他都会愿意帮忙!
建议楼主看下本版规则!
求助完整格式:出错代码和出错提示
发表于 2009-5-14 21:40 | 显示全部楼层

回复 6楼 xu881015 的帖子

高频余弦噪声应该可以这样表示:cos(2*pi*f*x)

评分

1

查看全部评分

 楼主| 发表于 2009-5-15 11:48 | 显示全部楼层

回复 8楼 friendchj 的帖子

fs=22050; x1=wavread('c:\123.wav'); f=fs*(0:511)/1024;
t=0:1/22050:(size(x1)-1)/22050;  %将所加噪声信号的点数调整到与原始信号相同
Au=0.03; d=[Au*cos(2*pi*5000*t)]';    %噪声为5kHz的余弦信号
x2=x1+d; sound(x2,22050);        %播放加噪声后的语音信号
y2=fft(x2,1024);
figure(1); plot(t,x2); title('加噪后的信号'); xlabel('time n'); ylabel('fuzhi n');
figure(2)
subplot(2,1,1); plot(f,abs(y1(1:512))); title('原始语音信号频谱'); xlabel('Hz'); ylabel('fuzhi');
subplot(2,1,2); plot(f,abs(y2(1:512))); title('加噪后的信号频谱'); xlabel('Hz'); ylabel('fuzhi');

请你帮我看看里面有个错误怎么改~~ 第四行的啊·~谢谢啊·~·

[ 本帖最后由 ChaChing 于 2010-1-17 18:15 编辑 ]
发表于 2009-5-15 14:20 | 显示全部楼层

回复 9楼 xu881015 的帖子

请给出错误代码提示
 楼主| 发表于 2009-5-15 16:50 | 显示全部楼层

回复 10楼 friendchj 的帖子

??? t=0:1/22050:(size(x1)-1)/22050;  %将所加噪声信号的点数调整到与原始信号相同
                                   |
Error: Missing variable or function.
发表于 2009-5-15 17:18 | 显示全部楼层
size函数 没有定义吧?
length(x1)

不知是不是要实现length(x1)
size是c语言的函数吧

[ 本帖最后由 ChaChing 于 2010-1-17 18:13 编辑 ]

评分

1

查看全部评分

发表于 2009-5-15 17:32 | 显示全部楼层
在我的matlab上能正常运行:
>> x=0:3;
>> t=0:0.5:(size(x)-1)

t =

     0

你的本意应该用length吧,size取的是维数
如:
>> x=0:3;
>> size(x)

ans =

     1     4
 楼主| 发表于 2009-5-15 18:40 | 显示全部楼层
谢谢啦~~我的报告OK了·~谢谢大家了·~:handshake
发表于 2009-5-15 18:57 | 显示全部楼层

回复 11楼 xu881015 的帖子

这个报错Error: Missing variable or function, 不会因为使用错误函数就报错
怀疑楼主一开始的问题, 应是含中文输入造成!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-1 07:38 , Processed in 0.062254 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表