语音信号分析和处理
题目:利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。以下为题目步骤实践步骤 1.用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱程序: 时域波形和频谱: 2. 给原始的语音信号加上一个高频余弦噪声,频率为(5—6Khz任选)。对加噪后的语音进行分析,并画出其信号时域和频谱图。程序: 时域波形和频谱: 与原始信号对比,区别: 3. 设计合适的滤波器,滤除高频噪声,绘出滤波后的信号频域和时域波形:程序: 时域波形和频谱: 与原噪音信号对比,区别[ 本帖最后由 sigma665 于 2009-5-15 15:58 编辑 ] 请把标题改成和内容相关,先自己动手编写吧,可以找一段音频自己先试试,不要直接求代码。
help fft, rand, awgn, filter等 现学生怎一堆到处直接求代码!
作业步骤都有了, 试试看才会真有所得! 关键我们没用过这个软件,而且时间很紧~~老师只给了这个.所以比较着急~~
[ 本帖最后由 ChaChing 于 2009-5-14 20:41 编辑 ] 那你直接告诉你老师说你从来没用过这个软件,时间上也不够
回复 6楼 ydlcsu 的帖子
呵呵~~“给原始的语音信号加上一个高频余弦噪声,频率为(5—6Khz任选)。”关键这个不会编~~~哎~~ 还是需自己试了编, 具体些我想楼上几位及其他都会愿意帮忙!建议楼主看下本版规则!
求助完整格式:出错代码和出错提示
回复 6楼 xu881015 的帖子
高频余弦噪声应该可以这样表示:cos(2*pi*f*x)回复 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='; %噪声为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 编辑 ]
回复 9楼 xu881015 的帖子
请给出错误代码提示回复 10楼 friendchj 的帖子
??? t=0:1/22050:(size(x1)-1)/22050; %将所加噪声信号的点数调整到与原始信号相同|
Error: Missing variable or function. size函数 没有定义吧?
length(x1)
不知是不是要实现length(x1)
size是c语言的函数吧
[ 本帖最后由 ChaChing 于 2010-1-17 18:13 编辑 ] 在我的matlab上能正常运行:
>> x=0:3;
>> t=0:0.5:(size(x)-1)
t =
0
你的本意应该用length吧,size取的是维数
如:
>> x=0:3;
>> size(x)
ans =
1 4 谢谢啦~~我的报告OK了·~谢谢大家了·~:handshake
回复 11楼 xu881015 的帖子
这个报错Error: Missing variable or function, 不会因为使用错误函数就报错怀疑楼主一开始的问题, 应是含中文输入造成!
页:
[1]