Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Цифровая обработка сигналов

..pdf
Скачиваний:
10
Добавлен:
20.11.2023
Размер:
4.24 Mб
Скачать

x=A1*sin(2*%pi*f1*t+Q1)+A2*sin(2*%pi*f2*t+Q2); disp(x,"x(n)");

subplot(3,1,1); t=(k*ts/10:ts/10:(k+N-1)*ts);

xx=A1*sin(2*%pi*f1*t+Q1)+A2*sin(2*%pi*f2*t+Q2); plot(xx);

//Fourier Transformation

X=zeros(1:N); Xmag=zeros(1:N); Xang=zeros(1:N); for m=(1:N)

for n=(1:N) X(m)=X(m)+x(n)*(cos(2*%pi*(n-1)*(m-1)/N)-%i*sin(2*%pi*(n-

1)*(m-1)/N)); end

end X=clean(X); disp(X,"X(m)"); Xmag=abs(X); for m=1:N

if imag(X(m))==0 then Xang(m)=0 elseif real(X(m))<>0 then

Xang(m)=atan(imag(X(m))/real(X(m)))*180/%pi; else Xang(m)=csgn(X(m))*90;

end; end

subplot(3,1,2); plot2d3((0:N-1),Xmag); subplot(3,1,3); plot2d3((0:N-1),Xang);

111

disp(Xmag,"Xmag"); disp(Xang,"Xang");

//Fast Fourier Transformation 4x2 for n=1:N/2

x1(n)=x(2*n-1);//0,2,4,6 - четные номера, если считать с 0 x2(n)=x(2*n);//1,3,5,7 - нечетные номера, если считать с 0

end

X1=fft(x1);

X2=fft(x2);

X=zeros(1:N); for m=(1:N/2)

X(m)=X1(m)+X2(m)*exp(-%i*2*%pi/N*(m-1)); X(m+N/2)=X1(m)+X2(m)*exp(-%i*2*%pi/N*(m-1+N/2));

end

X=clean(X);

disp(X,"X(m) after FFT 4x2");

//Fast Fourier Transformation 2x4 clear x1 x2 X1 X2 X;

for n=1:N/4 x1(n)=x((n-1)*4+1);//0,4 x2(n)=x((n-1)*4+3);//2,6 x3(n)=x((n-1)*4+2);//1,5 x4(n)=x((n-1)*4+4);//3,7

end

X1=fft(x1);

X2=fft(x2);

X3=fft(x3);

X4=fft(x4);

112

for k=1:N/4 A(k)=X1(k)+X2(k)*exp(-%i*2*%pi/(N/2)*(k-1));

A(k+N/4)=X1(k)+X2(k)*exp(-%i*2*%pi/(N/2)*(k-1+N/4)); B(k)=X3(k)+X4(k)*exp(-%i*2*%pi/(N/2)*(k-1)); B(k+N/4)=X3(k)+X4(k)*exp(-%i*2*%pi/(N/2)*(k-1+N/4));

end

X=zeros(1:N); for m=1:N/2

X(m)=A(m)+B(m)*exp(-%i*2*%pi/N*(m-1)); X(m+N/2)=A(m)+B(m)*exp(-%i*2*%pi/N*(m-1+N/2));

end X=clean(X);

disp(X,"X(m) after FFT 2x4");

//Inverse FT x=zeros(1:N); for n=(1:N)

for m=(1:N) x(n)=x(n)+(1/N)*X(m)*(cos(2*%pi*(n-1)*(m-

1)/N)+%i*sin(2*%pi*(n-1)*(m-1)/N)); end

end

disp(clean(x),"x(n) after ifft");

113

Учебное издание

Фрейман Владимир Исаакович

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ

Учебное пособие

Редактор и корректор И.Н. Жеганина

––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Подписано в печать 11.05.2021. Формат 60 90/16. Усл. печ. л. 7,25. Тираж 30 экз. Заказ № 100/2021.

––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Издательство Пермского национального исследовательского

политехнического университета.

Адрес: 614990, г. Пермь, Комсомольский пр., 29, к. 113.

Тел. (342) 219-80-33.

114