%Teknillinen korkeakoulu
%Tietoliikennelaboratorio
%Seppo Saastamoinen 12.2.2005
clear all; close all; %Nollataan muistit ja kuvat

Teekkari1 = 'Teemu Teekkari 12345A'; %LUE ALLA OLEVAT 3. HUOMAUTUSKOHTAA!
Teekkari2 = 'Liisa Teekkari 54321B';

%S-72.060 Signaalit ja järjestelmät, K-05
%Laboratoriotyö 3a, Epälineaarinen järjestelmä, särö
%MAKRO: saro2005.m

Fs = 100000; %Näytenopeus
t = (0:1/Fs:1-1/Fs); %Signaalin pituus 1 s.

%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
%Tulosignaali

%HUOMAUTUS! HUOMAUTUS! HUOMAUTUS! HUOMAUTUS! HUOMAUTUS!:

%TYÖOHJEESTA POIKETEN JA SITÄ TÄYDENTÄEN SEKÄ
%MUUTOKSET ESISELOSTUKSEEN LIITTYEN ON

%1. TAAJUUDEN %f1 AMPLITUDI 0.282 (VOLTTIA) JA TAAJUUDEN f2
%AMPLITUDI 1.41 VOLTTIA.

%2. TAAJUUS f1 ON 940 HZ JA f2 1062 Hz.

%3. LOPPUSELOSTUSTA VARTEN ZOOMAA TAAJUUSALUEESTA (ALIN KESKIMMÄINEN KUVA)
%ESILLE TAAJUUKSIEN F1 JA F2 PERUS-TAAJUUKSIEN SEKÄ 2. JA 3. HARMONISTEN
%TAAJUUKSIEN TARKAT AMPLITUDIT ESILLE,
%SIIS YHTEENSÄ KUUDEN ERI TAAJUUDEN AMPLITUDIT.

%SYÖTÄ ALLE KAAVA xt:LLE EM. MUUTOS HUOMIOIDEN!
%xt = ?;

%SYÖTÄ ALLE KAAVA yt:LLE!KÄYTÄ PISTETULOA, ESIM. xt.*xt!

%yt = ?;

%Annetaan vahvistus itsestään yt:lle eli kun G = 20 dB,
%on jännitevahvistus 10. Siis

yt = yt*10;

%Lasketaan Fourier-muunnokset ja amplitudit desibelivoltteina.;
Xf = abs(fft(xt))*2/Fs; Yf = abs(fft(yt))*2/Fs;
XfdBV = 20*log10(Xf); YfdBV = 20*log10(Yf);

%Tehdään taajuusvektori 1-puoleista taajuusaluetta varten:
f0 = Fs/max(size(t)); f = [0:f0:(max(size(t))-1)*f0];

%Haetaan päiväys ja kellonaika tulostusta varten eli
h = fix(clock);

%Tulostetaan käyrät.

subplot(2,3,1); plot(t,xt); axis([0 .01 1.2*min(xt) 1.2*max(xt)]);
xlabel('Aika/s'); ylabel('Tulojännite xt/V');
grid on; zoom on;

title({['Kurssi: S-72.060 K-2005 Laboratoriotyö 3, osa B'];...
      ['Kosiniaaltojen summa ja epälineaarinen järjestelmä'];...    
      ['Tekijät: ' Teekkari1 ' ja ' Teekkari2];...
      [int2str(h(3)) '.' int2str(h(2)) '.' int2str(h(1)) ' klo '...
          int2str(h(4)) ':' int2str(h(5)) ':' int2str(h(6))]});

subplot(2,3,2); plot(f,Xf); axis([-100 5000 0 1.2*max(Xf)]); xlabel('Taajuus/Hz'); ylabel('Tulojännitteen spektri Xf/V/Hz');
grid on; zoom on;

subplot(2,3,3); plot(f,XfdBV); axis([-100 5000 min(XfdBV)-6 max(XfdBV)+6]); xlabel('Taajuus/Hz'); ylabel('Spektri Xf/dBV/Hz');
grid on; zoom on;

subplot(2,3,4); plot(t,yt); axis([0 .01 1.2*min(yt) 1.2*max(yt)]); xlabel('Aika/s'); ylabel('Lähtöjännite yt/V');
grid on; zoom on;

subplot(2,3,5); plot(f,Yf); axis([-100 5000 0 1.2*max(Yf)]); xlabel('Taajuus/Hz'); ylabel('Lähtöjänniteen spektri Yf/V/Hz');
grid on; zoom on;

subplot(2,3,6); plot(f,YfdBV); axis([-100 5000 min(XfdBV)-6 max(XfdBV)+6]); xlabel('Taajuus/Hz'); ylabel('Spektri Yf/dBV/Hz');
grid on; zoom on; shg;
