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

ИКТ-23 / ЛР3 ЦОС

.docx
Скачиваний:
0
Добавлен:
21.02.2024
Размер:
128.97 Кб
Скачать

Варант 6

Задание 1

Создаём Dpf.m

function fun = Dpf(x,N)

k = 0:N-1;

fun = 0;

for n = 1:N

fun = fun + x(n)*exp(-1i*2*pi*(n -1)*k/N);

end

Основной код

clear all

clc

close all

a = 10;

f0 = 2;

N= 2100;

Nt=0:100:N

NN = length(Nt)

T = 2;

dt = T/(N-1);t = 0:dt:T;

x = exp(-t.^2/a.^2) * sin(2 * pi * f0);

t2 = [];

for k=1:NN,

tic;

y = Dpf(x,Nt(k));

t2 =[t2 toc];

end

plot(Nt,t2);

grid on

C1:

clear all

clc

a = 10;

f0 = 2;

N= 2100;

Nt=0:100:N

NN = length(Nt)

T = 2;

dt = T/(N-1);

t = 0:dt:T;

x = exp(-t.^2/a.^2) * sin(2 * pi * f0);

t2 = [];

for k=1:NN,

tic;

y = Dpf(x,Nt(k));

t2 =[t2 toc];

end

plot(Nt,t2);

grid on

c1 = 32e-9;

t3 = c1*Nt.^2;

hold on;

hPl=plot(Nt, t2, 'b', Nt, t3, 'r');

Второй шаг

tic

clear all

clc

a = 10;

f0 = 2;

T = 2;

N= 11;

n = 1:N;

Nt =2.^n;

NN = length(Nt)

dt = T/(2.^N-1);

t = 0:dt:T;

x = exp(-t.^2/a.^2) * sin(2 * pi * f0);

t2 = [];

for k=1:NN,

tic;

for m=1:1000,

y = fft(x,Nt(k));

end

t2 =[t2, toc];

end

t2 = t2/1000;

c1 = 32e-9;

c2= 135e-11;

t3 = c2*Nt.*log2(Nt)/2;

hPl=plot(Nt, t2, 'b', Nt, t3, 'r');

grid on

toc

N=500

T1=c1*N^2

T2=c2*N/2*log2(N)

T1/T2

N=1000

T1=c1*N^2

T2=c2*N/2*log2(N)

T1/T2

N=2000

T1=c1*N^2

T2=c2*N/2*log2(N)

T1/T2

Т

T1, c

T2, 10^-4 c

T1/T2

500

0.0080

3.0260e-06

2.6438e+03

1000

0.0320

6.7269e-06

4.7570e+03

2000

0.1280

1.4804e-05

8.6464e+03

Задание 2

clear all

clc

close all;

%задаем фильтр через коэффициенты a, b

%находим нули, полюсы и коэффициент

%усиления z, p, k передаточной функции H(s)

%восстанавливаем комплексный коэффициент передачи K(w)

%рисуем АЧХ и ФЧХ

b = [3 2 1 1 ];

a = [2 -1 -1 0 -1];

[z, p, k] = tf2zp(b, a);

hPl=plot(p, 'r*');

set(hPl,'LineWidth',5);

hold on;

hPl=plot(z, 'bo');

set(hPl,'LineWidth',5);

axis([-2.5 2.5 -2.5 2.5]);

hy=line([0 0], [-2.5 2.5]); %ось Oy

set(hy,'LineWidth',2,'color','black');

hx=line( [-2.5 2.5], [0 0]); %ось Ox

set(hx,'LineWidth',2,'color','black');

text( 2., 0.1, 'Re(s)','FontSize',[20]);

text( 0.1, 2., 'Im(s)','FontSize',[20]);

title('Poles and Zeros of filter','FontSize',[20]);

grid on;

hAx=gca;

set(hAx,'FontSize',[18]);

w=0:0.01:10;

K =freqs(b, a, w);

figure;

plot(w, abs(K),'red');

%axis([0 10 0 1.1]);

xlabel('\omega');

title('A(\omega)');

grid on;

figure;

plot(w, angle(K),'m');

xlabel('\omega');

title('\phi(\omega)');

grid on

Второй пункт

clear all

clc

close all;

%задаем фильтр через коэффициенты a, b

%находим нули, полюсы и коэффициент

%усиления z, p, k передаточной функции H(s)

%восстанавливаем комплексный коэффициент передачи K(w)

%рисуем АЧХ и ФЧХ

b = [3 2 i -i ];

a = [2 1 3 2i -2i];

[z, p, k] = tf2zp(b, a);

hPl=plot(p, 'r*');

set(hPl,'LineWidth',5);

hold on;

hPl=plot(z, 'bo');

set(hPl,'LineWidth',5);

axis([-2.5 2.5 -2.5 2.5]);

hy=line([0 0], [-2.5 2.5]); %ось Oy

set(hy,'LineWidth',2,'color','black');

hx=line( [-2.5 2.5], [0 0]); %ось Ox

set(hx,'LineWidth',2,'color','black');

text( 2., 0.1, 'Re(s)','FontSize',[20]);

text( 0.1, 2., 'Im(s)','FontSize',[20]);

title('Poles and Zeros of filter','FontSize',[20]);

grid on;

hAx=gca;

set(hAx,'FontSize',[18]);

w=0:0.01:10;

K =freqs(b, a, w);

figure;

plot(w, abs(K),'red');

%axis([0 10 0 1.1]);

xlabel('\omega');

title('A(\omega)');

grid on;

figure;

plot(w, angle(K),'m');

xlabel('\omega');

title('\phi(\omega)');

grid on

Задание 3

clear all

clc

close all

n = 4;

Rp = 0.6;

Rs = 25;

[z, p, k] = ellipap(n, Rp, Rs);

[b, a] = zp2tf(z, p, k);

w = 0:0.01:4;

K = freqs(b, a, w);

plot(w, abs(K));

grid on

Ap = 1 * 10^(-Rp/20)

As = 1* 10^(-Rs/20)

Ap = 0.9333

As = 0.0562.

Соседние файлы в папке ИКТ-23