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

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

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

Вариант 6

Задание 1:

Функция

Частота

Длительность импульса

Нечетная

1

0.2

clc;clear;close all;

f0=1;

a = 0.2; %длительность импульса (с)

T = 20; %интервал временной вывода графика (c)

dt = 0.1; %шаг вывода график по оси времени (с)

t = -T/2:dt:T/2; %дискретные моменты времени (c)

s = rectpuls(t./a).*sin(2*pi*f0.*t); %отсчеты сигнала

figure;

plot(t, s);

axis([-T/8 T/8 0 1.5]);

xlabel('t (c)');

title('Signal s(t)');

grid on;

fb = 10; %интервал частотный вывода графика (Hz)

df = 0.1; %шаг вывода графика по частоте (Hz)

f = -fb:df:fb; %дискретные значания по частоте (Hz)

S = sin(-pi*a.*(f-f0))./(-2*pi*i.*(f-f0))+sin(-pi*a.*(f+f0))./(-2*pi*i.*(f+f0)); %аналитически полученное выражение сигнала

Ampl = abs(S); %вычисляем АЧХ

Re = real(S); %вычисляем действительную часть спектра

Im = imag(S); %вычисляем мнимую часть спектра

MaxSpectr = max(Ampl); %максимум для графика спектра

figure;

plot(f, Ampl);

axis([-fb fb -1.2*MaxSpectr 1.2*MaxSpectr]);

xlabel('f (Hz)');

title('Spectrum A(f)');

grid on;

figure;

plot(f, Re);

axis([-fb fb -1.2*MaxSpectr 1.2*MaxSpectr]);

xlabel('f (Hz)');

title('Spectrum Re(S(f))');

grid on;

figure;

plot(f, Im);

axis([-fb fb -1.2*MaxSpectr 1.2*MaxSpectr]);

xlabel('f (Hz)');

title('Spectrum Im(S(f))');

grid on;

Задание 2

f0 = 1;

w0 = 2 * pi * f0;

syms x;

S = (sin((a/2)*(x - w0)))/(1i*(x - w0)) - (sin((a/2)*(x + w0)))/(1i*(x + w0));

deltaf = fzero(@(x) (sin((a/2)*(x - w0)))/((x - w0)) - (sin((a/2)*(x + w0)))/((x + w0)),[0.1 1000])

B = deltaf*a

deltaf =

989.5143

B =

197.9029

Задание 3:

ДПФ clc;clear;close all; %прямоугольный импульс - ДПФ f1=30; f2=60; f3=50; %частота (Hz) F=[f1,f2,f3]; a1 = 0.5; a2 = 1; a3 = 1.5; %длительность импульса (с) fb = 2*max(F); %интервал частот (Hz) на графике T = 100/fb; %интервал интегрирования в Фурье преобразовании (c) dt = 1/(20*fb); %шаг дискретизации (с) t = -T/2+dt:dt:T/2; %дискретные моменты времени (c) N1 = length(t); %проверка, чтобы число членов ряда было четным if mod(N1,2) == 1 N1 = N1 + 1; T = dt*N1; t = -T/2+dt:dt:T/2; end s = rectpuls(t./a1).*sin(2*pi*f1.*t)+rectpuls(t./a2).*sin(2*pi*f2.*t)+rectpuls(t./a3).*sin(2*pi*f3.*t); %отсчеты сигнала figure; plot(t, s); axis([-T/2 T/2 0 1.5]); xlabel('t (c)'); title('Signal s(t)'); grid on; x=s; %сигнал заносим в последовательность для ДПФ N = length(x); %число членов в преобразовании Фурье X=fft(x); %прямое дискретное преобразование Фурье k=1:N; ex=exp(1i*2*pi*(k-1)*(N/2-1)/N); %вычисление экспоненты Sp = dt*ex.*X; %вычисление спектра не упорядоченного S1=Sp(N/2+2:N); S2=Sp(1:N/2+1); S = [S1 S2]; %спектр упорядоченный Ampl = abs(S); %вычисляем АЧХ Re = real(S); %вычисляем действительную часть спектра Im = imag(S); %вычисляем мнимую часть спектра df=1/T; %интервал дискретизации частот f=(-N/2+1:N/2)*df; %создаем дискретные частоты (для графика) MaxSpectr = max(Ampl); %максимум для графика спектра figure; plot(f, Ampl); axis([-fb -1.2*MaxSpectr 1.2*MaxSpectr]); xlabel('f (Hz)'); title('Spectrum A(f)'); grid on; figure; plot(f, Re); axis([-fb -1.2*MaxSpectr 1.2*MaxSpectr]); xlabel('f (Hz)'); title('Spectrum Re(S(f))'); grid on; figure; plot(f, Im); axis([-fb -1.2*MaxSpectr 1.2*MaxSpectr]); xlabel('f (Hz)'); title('Spectrum Im(S(f))'); grid on;

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