Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-05-06, 15:53   #1
gexiaohua
初级会员
 
注册日期: 2009-05-06
帖子: 3
声望力: 0
gexiaohua 正向着好的方向发展
默认 Warning: Data clipped during write to file:123.wav是怎么回事

出错信息:
In wavwrite>PCM_Quantize at 241
In wavwrite>write_wavedat at 267
In wavwrite at 112
In Myfilter6 at 42
程序:
———————————————————————————————————
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太大的原因……
请各位大侠帮帮忙解决一下,谢谢了。
gexiaohua 当前离线   回复时引用此帖
旧 2009-05-07, 10:25   #2
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: Warning: Data clipped during write to file:123.wav是怎么回事

lz 能否把你的123.wav贴上来 大家一同讨论一下
silas_xue 当前离线   回复时引用此帖
旧 2009-05-08, 10:24   #3
gexiaohua
初级会员
 
注册日期: 2009-05-06
帖子: 3
声望力: 0
gexiaohua 正向着好的方向发展
默认 回复: Warning: Data clipped during write to file:123.wav是怎么回事

引用:
作者: silas_xue 查看帖子
lz 能否把你的123.wav贴上来 大家一同讨论一下
你说的把这个wav文件上传吗?这个wav文件没有问题
gexiaohua 当前离线   回复时引用此帖
旧 2009-05-09, 14:26   #4
gexiaohua
初级会员
 
注册日期: 2009-05-06
帖子: 3
声望力: 0
gexiaohua 正向着好的方向发展
默认 回复: Warning: Data clipped during write to file:123.wav是怎么回事

呵呵,多谢关心,我已经知道答案了。
在求y_out的时候要先real一下,并且在写文件之前把幅度控制在[-1,1]之间(归一化)。
gexiaohua 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:38


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.