Witam!

Stoje przed zadaniem zaprogramowania kodera i dekodera sygnału cyfrowego w środowisku Matlab. O ile z koderem nie miałem większych problemów to z dekoderem jest niestety inaczej. Mój koder wygląda następująco:

% czytanie z wav
%[x, fp] = wavread('muzyka_plus15db.wav');
%[x, fp] = wavread('muzyka_poziom_0dB(271).wav');
[x, fp] = wavread('test_1khz_0dbfs.wav');

%########## KODER ##########

disp('START');

x = x';
x=x(:,1:192000);
n = length(x(1,:));
pilotlevel = 0.1;
dt = 1/fp;
t = dt * (0:n-1);

disp('...pracuje...');

pilot = pilotlevel * sin(2*pi*19000*t); %poziom pilota
tone38k = sin(2*pi*38000*t);
y = pilot + 0.5*(x(1,:)+x(2,:)) + 0.5*tone38k .* (x(2,:)-x(1,:));

%długość częstotliwości pilotowej (transformata Fouriera)
plot(abs(fft(y)),'b');
grid on;
legend('sygnał zakodowany');
title('Programowy koder i dekoder stereo');

disp('KONIEC')

Działa on prawidłowo tzn. generuje wykres widma częstotliwościowego z pilotem. Jeśli chodzi o sam dekoder to kompletnie nie wiem jak to ugryźć. Wiem, że musze zastosować filtr iir, ale oprócz wygenerowania go w Simulinku lub poprzez narzędzie fdatool nie mam bladego pojęcia jak go zrealizować w kodzie. Piszę do Was, bo po długich godzinach spędzonych na szukaniu jakichś konkretnych wskazówek nie udało mi się znaleźć nic, jeśli chodzi o realizacje dekodera w Matlabie, bo w Simulinku udało mi się bez problemu zaprojektować obydwa analizatory sygnału cyfrowego.

POMOCY! ;)