Signalų diskretizavimas Matlab terpėje (0)
Dirbant su skaitmeniniai filtrais ir derinant jų algoritmus, neišvengiamai tenka naudoti testines diskretizuotų signalų sekas. Šiame dokumente pateiktas vienas iš pavyzdžių, kaip gauti tokias sekas su Matlab programa.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Diskretizuotas signalas bendruoju atveju yra skaičių seka, gauta imant analoginio signalo amplitudes vienodais laiko tarpais. Laiko tarpai, kuriais imamos atskaitos vadinami diskretizavimo periodu (Td). Tokią skaičių seką galima vaizduoti lentele arba grafiku. Duomenys įrašomi į vienmatį masyvą, o vaizduojant grafiku x ašyje atidedamos diskretizavimo atskaitos n, o y ašyje – signalo amplitudės. Vienas signalo periodas diskretizuojamas N atskaitų.:
(1)
Jei laikinis signalas aprašomas išraiška (2):
(2)
kur A – signalo amplitudė, ω – signalo kampinis dažnis, fs – signalo dažnis, t – laikas.
Tuomet diskretizuotas signalas aprašomas (3) išraiška:
(3)
kur n – momentinė atskaita, fs – signalo dažnis, Fd – diskretizacijos dažnis.
Matlab terpėje toks signalas aprašomas taip:
%Diskretizuotas signalas
clear all %kintamuju isvalymas
A=10; %amplitudes reiksme
fs=10*10^3; %signalo daznis
T=1/fs; %signalo periodas
N=60; %tasku skaicius periodui
Fd=N*fs; %diskretizavimo daznis
TN=3*N; %vaizduojamu periodu skaicius
n=1:TN; %atskaitu masyvo generavimas
x=A*sin(2*pi*fs/Fd*n); %signalo generavimas
stem(n,x); %grafikas stulpeliais
title('diskretizuotas signalas'); %grafiko pavadinimas
xlabel('n'); %grafiko x asies pavadinimas
ylabel('x(n)'); %grafiko y asies pavadinimas
grid on; %grafike tinklelio ijungimas
Grafiškai atvaizduotas diskretizuotas signalas pavaizduotas 1 pav.
1 pav. Diskretizuotas signalas
Diskretizuotas signalas gali būti vaizduotas lentele (2 pav.). Tai atliekama pagrindiniame lange dvigubai paspaudus ant reikiamo kintamojo.
2 pav. Diskretizuotas signalas lentelės pavidalu