Na wersji 3.0.5 działa chyba dobrze
http://sourceforge.net/projects/octave/ … Installer/
Offline
Użytkownik
najlepiej sciagnac matlaba - wszystko dziala i program sie nie sypie co chwile
Offline
Użytkownik
zd 1.
[x,fp] = wavread('nazwa.wav'); %wczytanie wyznaczonego sygnału
dr=4;
x = decimate(x,dr);
fd=fp/dr;
Nx = length(x);
tx=0:1/fd:(Nx-1)/fd;
plot(tx,x);
xlabel('Czas [s]');
ylabel('Sygnał po decymacji');
Offline
jakby ktoś jeszcze na to nie trafił to tu jest trochę jego przykładów:
ftp://ftp.wsiz.wroc.pl/materialy/Makows … oratorium/
Offline
celudor napisał:
Onegar napisał:
Wie ktoś może ocb. w "Obliczyć spektrogram sygnału"?
nalezy uzyc funkcji specgram
Dziękówa masz plusa :)
Hm ale nie do końca kumam :D
Powiedzmy tzn mogę to zrobić czymś takim?
[x, Fs] = auload(file_in_loadpath("mbi02plywa.wav"));
step = fix(5*Fs/1000);
window = fix(40*Fs/1000);
fftn = 2^nextpow2(window);
[S, f, t] = specgram(x, fftn, Fs, window, window-step);
S = abs(S(2:fftn*4000/Fs,:));
S = S/max(S(:));
S = max(S, 10^(-40/10));
S = min(S, 10^(-3/10));
imagesc(t, f, flipud(log(S)));
Co dalej jak dalej :D?
Ew można tym:
% skrypt generuje spektrogram sygnalu modelowego
% w postaci szumu bialego i sygnalu chirp
% lub sygnalu wczytanego z pliku
% generacja sygnalu modelowego
syg=[randn(1,5000) chirp(linspace(0,1,5000),0,1,5000/2)];
fp1=1000;
% wczytanie sygnalu z pliku
%[syg, fp1]=auload("../sygnaly/piano.wav");
% narysowanie wykresu czasowego
oneplot();
clg;
xlabel("n");
ylabel("x(n)");
plot((0:length(syg)-1),syg,'-r;sygnal;');
% generacja spektrogramu
specgram(syg,2048,fp1,640,630);
Chyba ze mam obliczyć energie spectogramu ale to bez sensu przecież. I polecenie jest inne :/
Ostatnio edytowany przez Onegar (2012-11-28 14:38:16)
Offline
Chodzi o wykonanie wykresu podobnego do tego http://octave.sourceforge.net/signal/fu … am_998.png za pomocą funkcji specgram
Offline
zadanie 2:
dla x będącym sygnałem po decymacji
Ex=sum(abs(x(:)).^2);
gdyby ktoś nie wiedział jak to zapisać
jak zrobić te filtry?
bo mam coś takiego:
hl_1kHz=fir1(100,1000/fd); hh_1kHz=fir1(100,1000/fd,'high'); hl_2kHz=fir1(100,2000/fd); hh_2kHz=fir1(100,2000/fd,'high');
i analogicznie 3,4,5kHz
gdzie fd to częstotliwość po decymacji, czyli 12kHz (z 48kHz przed decymacją)
a do tego po dwa wykresy na częstotliwość (dla filtru dolno- i górnoprzepustowego)
Ostatnio edytowany przez januszs (2012-12-02 22:37:32)
Offline