МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №3
з дисципліни: «Цифрова обробка сигналів»
на тему: «Визначення і дослідження спектральних характеристик сигналів»
Мета роботи: Визначити спектр заданого сигналу засобами системи SCILAB. Дослідити властивості сигналу, провівши фільтрацію в частотній області.
Завдання:
Дослідити спектральні характеристики даного сигналу
19
Аналітичне представлення сигналу:
Виходячи із заданого графіка, сигнал описується фінітною функцією, тривалістю 6с. Перші 2с. амплітуда стала 6од., наступні 2с. змінюється і становить 3од. і останні 2с. - 6од.
Отже, аналітичний опис заданого графіком сигналу буде:
Текст програми:
clc
clear
close
T=6;m=8;N=2^m;
p=N/4;k1=N/2-p; k2=N/2+p;
dt=T/N;
t1=-3:dt:-1-dt;
t2=-1:dt:1-dt;
t3=1:dt:3;
t=[t1,t2,t3];
x1=6+0*t1;
x2=3+0*t2;
x3=6+0*t3;
x=[x1,x2,x3];
dw=2*%pi/T;//w=0:dw:N*dw-dw;
w=1:1:N;
Sx=fft(x)/(N);
figure(1,'BackgroundColor',[1,1,1]);
subplot(3,1,1),plot(t,x),title('Input data - x(n)','position',[T/2,max(x)/2]);
subplot(3,1,2),plot(w,real(Sx)),title('Real part FFT','position',[N/2,max(real(Sx))/2]);
subplot(3,1,3),plot(w,imag(Sx)),title('Imag part FFT','position',[N/2,max(imag(Sx))/2]);
Sx1=[Sx(1:k1)zeros(1,k2-k1)Sx(k2+1:N)];
Sx2=[zeros(1,p)Sx(p+1:N-p)zeros(1,p)];
Sx3=[Sx(1:N/4-p/2),zeros(1,p),Sx((N/4+p/2)+1:3*N/4-p/2),zeros(1,p),Sx(3*N/4+p/2+1:N)];
Sx4=[zeros(1,N/4-p/2),Sx((N/4-p/2)+1:N/4+p/2),zeros(1,N/2-p),Sx(3*N/4-p/2+1:3*N/4+p/2),zeros(1,N/4-p/2)];
figure(2,'BackgroundColor',[1,1,1]);
subplot(5,2,1),plot(w,abs(Sx)),title('X(k)','position',[N/2,max(abs(Sx))/2]);;
subplot(5,2,3),plot(w,abs(Sx1)),title('Modify spectral amplitudes Xm1(k)','position',[N/4,max(abs(Sx1))/2]);
subplot(5,2,5),plot(w,abs(Sx2)),title('Modify spectral amplitudes Xm2(k)','position',[N/4,max(abs(Sx2))/2]);
subplot(5,2,7),plot(w,abs(Sx3)),title('Modify spectral amplitudes Xm3(k)','position',[N/4,max(abs(Sx3))/2]);
subplot(5,2,9),plot(w,abs(Sx4)),title('Modify spectral amplitudes Xm4(k)','position',[N/4,max(abs(Sx4))/2]);
x1=N*ifft(Sx);
xm1=N*ifft(Sx1);
xm2=N*ifft(Sx2);
xm3=N*ifft(Sx3);
xm4=N*ifft(Sx4);
subplot(5,2,2),plot(t,x1),title('Output signal x1(n)','position',[T/4,max(abs(x1))/2]);
subplot(5,2,4),plot(t,real(xm1)),title('Output signal xm1(n)','position',[T/4,max(abs(xm1))/2]);
subplot(5,2,6),plot(t,real(xm2)),title('Output signal xm2(n)','position',[T/4,max(abs(xm2))/2]);
subplot(5,2,8),plot(t,real(xm3)),title('Output signal xm3(n)','position',[T/4,max(abs(xm3))/2]);
subplot(5,2,10),plot(t,real(xm4)),title('Output signal xm4(n)','position',[T/4,max(abs(xm4))/2]);
onePr=100/(N*max(abs(26),abs(-13)));
bm1=onePr*(sum(abs(x-xm1)))
bm2=onePr*(sum(abs(x-xm2)))
bm3=onePr*(sum(abs(x-xm3)))
bm4=onePr*(sum(abs(x-xm4)))
disp(N,"N=")
disp(p,"p=")
disp(bm1,"bm1=")
disp(bm2,"bm2=")
disp(bm3,"bm3=")
disp(bm4,"bm4=")
Графіки вхідної послідовності для 256 точок та її частотного спектру
/
Графіки амплітудних спектрів та відновлених сигналів (для р =N/4).
/
Значення похибок відновлених сигналів (у відсотках).
N =256
ε (xm1), %
ε (xm2), %
ε (xm3), %
ε (xm4), %
p=N/4=64
0.6965468
83.398564
1.2292352
83.399198
p=N/8=32
0.4921021
83.399177
0.8715584
83.398631
p=N/16=16
0.4222740
83.400739
0.7312376
83.398743
p=N/32=8
0.3570723
83.408648
0.6129518
83.398675
Висновок: при виконанні лабораторної роботи було отримано спектральну характеристику заданого фінітного сигналу. Це зроблено за допомогою системи SCILAB, а саме, шляхом використання вбудованої функцій f(t), яка дозволяє обчислювати швидке перетворення Фур’є N - точкової послідовності. Графік частотного складу сигналу приведено в п. 4. Крім того, проводилась частотна фільтрація сигналу, тобто відкидання різних частин спектральних коефіцієнтів, а далі - відновлення сигналу за допомогою оберненого швидкого перетворення Фур’є.
Як показало дослідження, при відкиданні спектральних складових, що відповідають за високі частоти, відтворений сигнал спотворюється незначно, тоді як відкидання низькочастотної складової приводить до повної втрати початкового сигналу, за винятком точки перепаду амплітуди. Тому, для апроксимації заданого сигналу слід використовувати лише низькочастотну складову. Так, для апроксимації з середньою точністю 5% достатньо взяти першу чверть спектральних коефіцієнтів, а для апроксимації з середньою точністю 1% можна відкидати лише N/16 спектральних складових. Якщо ж основною задачею при дослідженні сигналу є виявлення різких перепадів амплітуди, то варто використовувати високочастотну частину спектру.