ziemboy - 2012-10-14 13:18:26

zad1.

Kod:

N=100; %
fp=1000;
t=0:1/fp:(N-1)/fp;
x=1.7*sin(2*pi*87*t+0.2);
subplot(121);
stem(t,x);
xlabel('czas[s]');
ylabel('sinus');

Widmo

Kod:

Nf=128;
N21=N/2+1;
v=fft(x,Nf);
wx=abs(v);
f=linspace(0,fp/2,N21);
subplot(122);
stem(f,wx(1:N21));
xlabel('czest[Hz]');
ylabel('modul widma');

Zad 1a.

Kod:

N=128;
fp=128;
t=0:1/fp:(N-1)/fp;
x=1.7*sin(2*pi*37*t+0.2);
subplot(121);
stem(t,x);
xlabel('czas[s]');
ylabel('sinus');

Widmo

Kod:

Nf=128;
N21=N/2+1;
v=fft(x,Nf);
wx=abs(v);
f=linspace(0,fp/2,N21);
subplot(122);
stem(f,wx(1:N21));
xlabel('czest[Hz]');
ylabel('modul widma');

Zad 2.

Kod:

N=128;
fp=128;
t=0:1/fp:(N-1)/fp;
x=1.7*sin(2*pi*37*t+0.2);
subplot(221)
plot(t,x);
xlabel('czas[s]');
ylabel('sinus');

Widmo

Kod:

Nf=128;
N21=N/2+1;
v=fft(x,Nf);
wx=abs(v);
f=linspace(0,fp/2,N21);
subplot(222);
plot(f,wx(1:N21));
xlabel('czest[Hz]');
ylabel('modul widma');

Kod:

y=randn(1,N);
subplot(223);
plot(t,y);
xlabel('czas[s]');
ylabel('szum');

Widmo

Kod:

Nf=128;
N21=N/2+1;
v=fft(y,Nf);
wx=abs(v);
f=linspace(0,fp/2,Nf);
subplot(224);
plot(f,wx(1:Nf));
xlabel('czest[Hz]');
ylabel('modul widma');
return;

Zad.3 Widmo źle działa.

Kod:

clear;
[a,fa]=wavread('mbi02becz.wav');
Na=length(a)
dr=4;
N=floor(Na/dr);
for i=1:N
    x(i)=a((i-1)*dr+1);
end;
fp=fa/dr;
t=0:1/fp:(N-1)/fp;
subplot(321);
plot(t,x);
xlabel('czas[s]');
ylabel('wav');

Widmo

Kod:

Nf=2^16;
N21=N/2+1;
v=fft(x,Nf);
wx=abs(v);
fx=linspace(0,fp/2,N21);
subplot(322);
plot(fx,wx(1:N21));
xlabel('czest[Hz]');
ylabel('modul widma');
return

Co jest źle w tym widmie ?

kemot - 2012-10-14 13:50:36

Kto ma dzialajacy kod z komentarzem?

fenix21 - 2012-10-18 21:40:33

Octave-Wprowadzenie.pdf

emes - 2012-10-18 22:23:38

W grupie B, wszystko działało

prog1.m

Kod:

fp=1000;                  % częstotliwość próbkowania
N=100;                    % ilość próbek
t=0:1/fp:(N-1)/fp;        % oś czasu
x=1.2*sin(2*pi*87*t+0.3); % zmienna
subplot(121);
stem(t,x);                % wykres
xlabel('czas[s]');        % oznaczenie osi x
ylabel('sinus');          % oznaczenie osi y
Nf=128;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(x,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(122);
stem(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');

prog1a.m

Kod:

fp=128;                  % częstotliwość próbkowania
N=128;                    % ilość próbek
t=0:1/fp:(N-1)/fp;        % oś czasu
x=1.2*sin(2*pi*37*t+0.3); % zmienna
subplot(121);
stem(t,x);                % wykres
xlabel('czas[s]');        % oznaczenie osi x
ylabel('sinus');          % oznaczenie osi y
Nf=128;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(x,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(122);
stem(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');

prog2.m

Kod:

fp=128;                  % częstotliwość próbkowania
N=128;                    % ilość próbek
t=0:1/fp:(N-1)/fp;        % oś czasu
x=1.2*sin(2*pi*37*t+0.3); % zmienna
subplot(121);
stem(t,x);                % wykres
xlabel('czas[s]');        % oznaczenie osi x
ylabel('sinus');          % oznaczenie osi y
Nf=128;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(x,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(122);
stem(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');

prog3.m

Kod:

clear;
[a,fa]=wavread('mbi02becz.wav');
Na=length(a);
dr=4;
N=floor(Na/dr);
for i=1:N
  x(i)=a((i-1)*dr+1);
  end;
fp=fa/dr;
t=0:1/fp:(N-1)/fp;
subplot(321);
plot(t,x);
xlabel('czas[s]');
ylabel('wav');

Nf=2^15;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(x,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(322);
plot(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');

return;

Kod:

fp=128;                  % częstotliwość próbkowania
N=128;                    % ilość próbek
t=0:1/fp:(N-1)/fp;        % oś czasu
x=1.2*sin(2*pi*37*t+0.3); % zmienna
subplot(221);             % liczba wierszy, kolumn, odwołanie do pola
stem(t,x);                % wykres
xlabel('czas[s]');        % oznaczenie osi x
ylabel('sinus');          % oznaczenie osi y

Nf=128;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(x,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(222);
stem(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');

y=randn(1,N);
subplot(223);
plot(t,y);
xlabel('czas[s]');
ylabel('szum');

Nf=128;                   % długość transformaty Fouriera (liczba próbek)
N21=Nf/2+1;               % zmienna pomocnicza
v=fft(y,Nf);              %
wx=abs(v);                %
f=linspace(0,fp/2,N21);      % rysowanie funkcji liniowo rozłożonych punktów
subplot(224);
plot(f,wx(1:N21));
xlabel('czestotliwosc[Hz]');
ylabel('modul widma');
kopiowanie kaset vhs wola