登录论坛

查看完整版本 : [MATLAB毕业设计] Warning: Data clipped during write to file:123.wav是怎么回事


gexiaohua
2009-05-06, 15:53
出错信息:
In wavwrite>PCM_Quantize at 241
In wavwrite>write_wavedat at 267
In wavwrite at 112
In Myfilter6 at 42:mad::mad::mad::mad:
程序:
———————————————————————————————————
clear;clc
[y,Fs,NBITS]=wavread('123.wav');
Y=fft(y,262144);
f=[0 0.2 0.2 1];
m=[0 0 1 1];
b=fir2(30,f,m); %fir2用来设计任意频率响应的频率取样的数字FIR滤波器,b是n+1的一维向量
[H,w]=freqz(b,1,262144,'whole'); %w的范围是0~2π
Y_OUT=Y.*H;
y_out=ifft(Y_OUT,262144);
wavwrite(y_out,Fs,NBITS,'123(修改).wav')
————————————————————————————————————
我不知道是否是因为点数262144太大的原因……
请各位大侠帮帮忙解决一下,谢谢了。

silas_xue
2009-05-07, 10:25
lz 能否把你的123.wav贴上来 大家一同讨论一下

gexiaohua
2009-05-08, 10:24
lz 能否把你的123.wav贴上来 大家一同讨论一下

你说的把这个wav文件上传吗?这个wav文件没有问题

gexiaohua
2009-05-09, 14:26
呵呵,多谢关心,我已经知道答案了。
在求y_out的时候要先real一下,并且在写文件之前把幅度控制在[-1,1]之间(归一化)。