Differences between revisions 3 and 17 (spanning 14 versions)
Revision 3 as of 2005-05-25 12:59:10
Size: 572
Comment:
Revision 17 as of 2008-01-18 12:56:21
Size: 2719
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Semestralni prace z predmetu "Signaly asoustavy" = = Semestralni prace z predmetu "Signaly a soustavy" =
Line 5: Line 5:
 * Soubor Sound.wav obsahuje 8-mi bitové vzorky audiosignálu, jenž je zpracováván obvodem na úpravu zvuku, jehož impulsová odezva je v souboru filtr.dat.  * Soubor {{{Sound.wav}}} obsahuje 8-mi bitové vzorky audiosignálu, jenž je zpracováván obvodem na úpravu zvuku, jehož impulsová odezva je v souboru {{{filtr.dat}}}.
Line 10: Line 10:
 * attachment:2_P010-3.pdf
 * attachment:filtr.dat
=== Prilohy ===

* [[attachment:2_P010-3.pdf]] - originalni verze zadani
 * [[attachment:Sound.wav]]
 * [[
attachment:filtr.dat]]
Line 14: Line 17:

Nejdrive provedeme inicializaci prostedi v Matlabu.

{{{
clc;
clear all;
close all;
format long;
}}}

=== Vstupni a vystupni signaly ===

Nacteme vstupni signal a zobrazime ho.

{{{
[i,fs,b] = wavread('Sound.wav');
N = length(i);
figure; stem((0:length(i)-1)/fs,i,'.');
title('Vstupni signal');
xlabel('t[s]');
ylabel('s(t)');
grid on;
}}}

{{attachment:in.png}}

Dale nacteme impulzovou odezvu filtru a zobrazime ji.

{{{
f = dlmread('filtr.dat', '\n');
figure; stem((0:length(f)-1)/fs,f);
title('Impulzova odezva filtru');
xlabel('t[s]');
ylabel('s(t)');
grid on;
}}}

{{attachment:imp.png}}

Dalsim krokem je aplikace impulzove odezvy filtru na vstupni signal. To provedeme pomoci konvoluce. Vystup opet zobrazime.

{{{
o = conv(i, f);
wavwrite(o, fs, b, 'vystup.wav');
figure; stem((0:length(o)-1)/fs,o,'.');
title('Vystupni signal');
xlabel('t[s]');
ylabel('s(t)');
grid on;
}}}

{{attachment:out.png}}

=== Spektra vstupniho a vystupniho signalu ===

Spektrum vstupniho signalu ziskame fourierovou transformaci. Uveden je obecny vztah, ale pro konkretni vypocet byla pouzita rychla fourierova transformace (samozrejme diskretni).

{{attachment:f-four.png}}

{{{
is = fftshift(fft(i));
figure; stem((-length(is)/2:length(is)/2-1)*fs/length(i),abs(is),'.');
title('Spektrum vstupniho sugnalu');
xlabel('f[Hz]');
ylabel('S(f)');
}}}

{{attachment:in-s.png}}

Obdobne i pro vystupni signal.

{{{
os = fftshift(fft(o));
figure; stem((-length(os)/2:length(os)/2-1)*fs/length(o),abs(os),'.');
title('Spektrum vystupniho signalu');
xlabel('f[Hz]');
ylabel('S(f)');
}}}

{{attachment:out-s.png}}

=== Energie signalu ===

Nakonec spocitame pozadove hodnoty energii pro vstupni a vystupni signal.

{{attachment:f-e.png}}

{{{
Ein = sumsqr(i)
Eout = sumsqr(o)

Ein = 5.643853576660156e+003
Eout = 1.793025481292911e+002
}}}

=== Zaver ===

Je videt, ze se jedna o horni propust.

=== Prilohy ===

 * [[attachment:sempr2.m]]
 * [[attachment:vystup.wav]]

Semestralni prace z predmetu "Signaly a soustavy"

Zadani

  • Soubor Sound.wav obsahuje 8-mi bitové vzorky audiosignálu, jenž je zpracováván obvodem na úpravu zvuku, jehož impulsová odezva je v souboru filtr.dat.

  • Zobrazte vstupní a výstupní signál a jejich spektra.
  • Určete energii vstupního a výstupního signálu.
  • Z tvaru a průběhu vstupního, výstupního signálu a impulsové odezvy filtru (případně z jejich spekter) usudte na typ zvukové úpravy.

Prilohy

Reseni

Nejdrive provedeme inicializaci prostedi v Matlabu.

clc;
clear all;
close all;
format long;

Vstupni a vystupni signaly

Nacteme vstupni signal a zobrazime ho.

[i,fs,b] = wavread('Sound.wav');
N = length(i);
figure; stem((0:length(i)-1)/fs,i,'.');
title('Vstupni signal');
xlabel('t[s]');
ylabel('s(t)');
grid on;

in.png

Dale nacteme impulzovou odezvu filtru a zobrazime ji.

f = dlmread('filtr.dat', '\n');
figure; stem((0:length(f)-1)/fs,f);
title('Impulzova odezva filtru');
xlabel('t[s]');
ylabel('s(t)');
grid on;

imp.png

Dalsim krokem je aplikace impulzove odezvy filtru na vstupni signal. To provedeme pomoci konvoluce. Vystup opet zobrazime.

o = conv(i, f);
wavwrite(o, fs, b, 'vystup.wav');
figure; stem((0:length(o)-1)/fs,o,'.');
title('Vystupni signal');
xlabel('t[s]');
ylabel('s(t)');
grid on;

out.png

Spektra vstupniho a vystupniho signalu

Spektrum vstupniho signalu ziskame fourierovou transformaci. Uveden je obecny vztah, ale pro konkretni vypocet byla pouzita rychla fourierova transformace (samozrejme diskretni).

f-four.png

is = fftshift(fft(i));
figure; stem((-length(is)/2:length(is)/2-1)*fs/length(i),abs(is),'.');
title('Spektrum vstupniho sugnalu');
xlabel('f[Hz]');
ylabel('S(f)');

in-s.png

Obdobne i pro vystupni signal.

os = fftshift(fft(o));
figure; stem((-length(os)/2:length(os)/2-1)*fs/length(o),abs(os),'.');
title('Spektrum vystupniho signalu');
xlabel('f[Hz]');
ylabel('S(f)');

out-s.png

Energie signalu

Nakonec spocitame pozadove hodnoty energii pro vstupni a vystupni signal.

f-e.png

Ein = sumsqr(i)
Eout = sumsqr(o)

Ein = 5.643853576660156e+003
Eout = 1.793025481292911e+002

Zaver

Je videt, ze se jedna o horni propust.

Prilohy