매우 시끄러운 오디오 파일 (.wav)에 숨겨진 메시지를 해독하려고합니다 (추가 드론이있는 백색 잡음이라고 생각합니다). 메시지는 6 자리 숫자 입니다. 노이즈에 대한 자세한 내용은 없습니다.
나는 대부분의 더 높은 주파수를 제거하면 숫자를들을 수 있기를 희망하면서 저역 통과 필터를 사용하려고 시도했지만, 저음 무인 항공기를 충분히 제거하여 음성을 충분히들을 수 없었습니다. 내 시도는 다음과 같습니다 (사용 된 기능 freq_space_low_pass_filter
은 끝에 포함되어 있습니다).
[data, SampleRate, NbitsPerSample]=wavread('noisy_msg6.wav');
y=data(:,1); % we will work only with one channel in this demo
N=length(y); %number of sample points
t=( (1:N)*1/SampleRate ).'; % time spacing is 1/SampleRate and we want column vector
Y=fft(y);
spectrum_freq=fourier_frequencies(SampleRate, N);
Freq3db=100;
[spectrum_filtered,g_vs_freq]=freq_space_low_pass_filter(Y, SampleRate, Freq3db);
y_filtered=ifft(spectrum_filtered);
y_filtered=real(y_filtered);
wavwrite(y_filtered/(0.1+max(y_filtered)), SampleRate, NbitsPerSample,
'noisy_msg6_filtered.wav');
%%%%%%%%down sampling%%%%%%%%
indexes=(abs(spectrum_freq) < 10*Freq3db);
spectrum_freq_down_sampled = spectrum_freq(indexes);
spectrum_down_sampled = spectrum_filtered(indexes);
N_down_sampled = length(spectrum_down_sampled);
spectrum_down_sampled=spectrum_down_sampled*N_down_sampled/N;
SampleRate_down_sampled=SampleRate*N_down_sampled/N;
y_down_sampled=real(ifft(spectrum_down_sampled));
t_down_sampled = ( (1:N_down_sampled)*1/SampleRate_down_sampled ).';
sound(y_down_sampled, SampleRate_down_sampled)
function [spectrum_filtered,g]=freq_space_low_pass_filter(spectrum, SampleRate, Freq3db)
%% applies low pass filter in the frequency domain
% spectrum - result of fft on time series data (column vector is expected)
% SampleRate - measured in Hz, 1/dt where dt spacing of the points in time domain
% Freq3db - desired 3db roll off point in Hz
N=length(spectrum);
function G=filter_gain(freq, Freq3db)
G=1./(1+1i*freq/Freq3db); % this corresponds to low pass RC filter
end
spectrum_freq=fourier_frequencies(SampleRate, N);
% calculate filter gain for each spectrum frequency
g=filter_gain(spectrum_freq, Freq3db);
spectrum_filtered=spectrum.*g;
end
신호 스펙트럼의 플롯 :
작업중인 샘플을 제공 할 수 있습니까? 그리고 아마도 당신의 결과는?
—
penelope
나는 플롯 이미지 (충분하지 점)을 업로드하고 파일을 링크 할 수있는 방법이 없다 할 수없는
—
user1825494
주석에 링크를 넣으면 누군가가 기꺼이 편집 할 수 있습니다. 그리고 파일을 어딘가에 업로드하고 링크를 제공 할 수있는 방법을 찾으면 그 링크로 다시 돌아가십시오.
—
penelope
그래프가 로그 로그로 표시되면 그래프가 훨씬 유익합니다. 그대로, 약 1.5 kHz에서 22.5 kHz의 광대역 잡음이 있고 약 2 kHz의 협 대역 톤이있는 것처럼 보입니다. 내가 생각하는 것은 "음성"신호이며, 상당한 DC 오프셋으로 보이는 것은 상당히 조용한 "구멍"에있다. 적절한 대역 통과 필터로 분리하기가 어려운 것은 아닙니다.
—
Dave Tweed