2017-01-21 4 views
0

나는 MATLAB에서 천둥 소리를 합성하려고합니다. 내가 핑크 노이즈를 생성했고 지금은 30Hz로에 대역 통과 필터를 추가하기 위해 노력하고있어,하지만 난 오류가 점점 오전 : 아마 거기에 다른 방법에대역 통과 필터로 천둥 소리를 합성하는 방법

dur=[0:1/Fs:time-1/Fs]; 
sz=length(dur); 
g=randn(1, sz); % 
Y=fft(g); 

NumUniquePts = sz/2 + 1; 
n = 1:NumUniquePts; 
n = sqrt(n); 
Y(1:NumUniquePts) = Y(1:NumUniquePts)./n; 

Y(NumUniquePts+1:sz) = real(Y(sz/2:-1:2)) -1i*imag(Y(sz/2:-1:2)); 

y = ifft(Y); 

y = real(y(1, 1:sz)); 

y = y - mean(y); 
yrms = sqrt(mean(y.^2)); 
y = y/yrms; 

d = fdesign.lowpass('Fp,Fst,Ap,Ast',30,10,0.5,50,48e4); 
Hd1 = design(d,'equiripple'); 
Hd2 = design(d,'butter'); 

out = filter(Hd1,y); 

: 여기

The frequency specifications Fpass, Fstop must have increasing values. 

내 코드입니다 그것을 합성하시오?

+0

무엇이 오류입니까? –

+0

오류는 "주파수 사양 Fpass, Fstop의 값이 증가해야합니다."입니다. –

답변

0

I am getting an error. "The frequency specifications Fpass, Fstop must have increasing values."

이 오류가 FstopFpass보다 커야한다는 것을 의미한다. Fpass=30Hz이 필요하다고 말씀하셨습니다. 따라서 Fstop > 30이 필요하지만 10Hz 값을 지정했습니다. 이 오류를 수정하려면 Fstop 값을 늘려야합니다 (예를 들어 처음에는 100Hz로 설정하고 원하는 값을 얻을 때까지 조정).

+0

답변 해 주셔서 감사합니다. 저는 100Hz로 값을 변경했으나 지금은 스크립트가 작동하지 않습니다. –

+0

@VadimTor "그냥 작동하지 않습니다"다른 오류가 발생하거나 원하는 방식으로 들리는 오디오를 생성하지 않으므로? 나중에, 그 이유는 내가 "당신이 좋아하는 것을 얻을 때까지"조정할 언급했다. – SleuthEye

+0

나는 480kHz의 샘플링 주파수를 사용했고, 컴퓨터를 작동 시키려고했을 때 얼어 버렸다. 이제는 완벽하게 작동합니다. 다시 한번 감사드립니다. –

관련 문제