SPRAWOZDANIE
LAB1
Tworzymy w Matlabie 2 wygnały sinusa o różnych częstotliwościach. Następnie tworzymy sygnał zsumowany. W kolejnym kroku robimy modulację Amplitudową (wykorzystując funkcję matlaba: amod oraz nakładając na sygnał dowolny sygnał sinusoidalny (różny od zadanego)). W ostatnim kroku demodulujemy sygnał fali (funkcją demod)
dur = 0.005; fs = 10000000; fn = 100000; fs1 = 10000; %czestot. samplowania fs2 = 10000; %czestot. samplowania tt = 0 : (1/fs) : dur; figure; xx1 = sin(2*pi*1000*tt); subplot(5,1,1); plot(tt,xx1); title('Pierwszy sygnal'); xx2 = sin(2*pi*1500*tt+1); subplot(5,1,2); plot(tt,xx2); title('Drugi sygnal'); xx3 = (xx1+xx2)/2; subplot(5,1,3); plot(tt,xx3); title('Suma sygnalow'); xx4 = xx3 .* sin(2*pi*40*tt); subplot(5,1,4); plot(tt,xx4); title('AM sygnalow'); xn = ammod(xx3,fn,fs); xdemod = demod(xn,fn,fs); zwidmo = fft(xn); zwidomo = abs(zwidmo(1:length(zwidmo)/2+1)); frqwidmo = [0:length(zwidmo)-1]*fs/length(zwidmo)/2; subplot(5,1,5); plot(tt,xdemod); title('Demod sygnalow'); %plot(frqwidmo,zwidmo); |
---|
Następnie wykorzystując funkcję ammod, ssbmod, fmmod tworzymy 3 modulacje, a następnie je demodulujemy.
Kolejnym krokiem jest stworzenie 3 własnych modulacji bez wykorzystania funkcji matlaba.
Ostatnim krokiem jest pobranie przykładowego pliku .wave z internetu, wczytanie go do matlaba (gotową funkcją) oraz zmodulowanie go 3 modulacjami (funkcje matlaba) a następnie zdemodulowanie. Pośrednim krokiem jest nałożenie transformaty Fouriera na sygnał w celu zekranowania go do równej długości z falą nośną). Funkcja wczytująca .wave i tworząca modulację AM i demodulację
hfile = 'krowa.wav'; [y, Fs, nbits, readinfo] = wavread(hfile); dur = 4.568; % czas sygnalu fs = 800000; % probkowanie fn = 50000; % fala nosna tt = 0 : (1/fs) : dur-(1/fs); u = resample(y,100,1); %xx = sin( 2*pi*1000*tt ); %xx1 = sin( 2*pi*1500*tt+1 ); %xn = xx1+xx; subplot(4,1,1); plot(tt, u); title('wave'); xx2 = ssbmod(u,fn,fs); %xx2 = xn.*cos(2*pi*fn*tt); %xx2 = amod(u,fn,fs); %xx2 = fmmod(u,fn,fs); subplot(4,1,2); plot( tt, xx2 ); title('modulacja ssb/am/fm wavea'); zdouble = fft(xx2); zdouble = abs(zdouble(1:length(zdouble)/2+1)); frqdouble = [0:length(zdouble)-1]*fs/length(zdouble)/2; subplot(4,1,3); plot(frqdouble, zdouble); title('dopasowanie dlugosci'); xdem = ssbdemod(xx2,fn,fs); %xx2 = demod(u,fn,fs); %xx2 = fmdemod(u,fn,fs); subplot(4,1,4); plot(tt, xdem); title('demod'); |
---|