Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 23:41   #1
Fazer77777
Пользователь
 
Регистрация: 30.06.2012
Сообщений: 11
По умолчанию Последовательность дискретизированных прямоугольных имульсов

Здравствуйте) Помогите с заданием)

Задать гармоническое колебание с частотой f1=1 Гц, амплитудой А1=1 и начальной фазой pi/4. Длительность сигнала Tl=10. Для заданного аналитического сигнала сформировать дискретные сигналы с частотой дискретизации Fs: 1 Гц; 3 Гц; 5 Гц; 20 Гц.
Вывести на экран одновременно (с помощью subplot()) графики аналитического и получившихся дискретных(4 сигнала).
Для каждого сигнала рассчитать амплитудный спектр и вывести на экран одновременно.

Это в Matlab.

Преподаватель модифицировал задание вместо гарм-го кол-я нужно сделать последовательность прямоуголных импульсов.

Код такой:
Код:
Tl=10;
Fs1=1;
Fs2=3;
Fs3=5;
Fs4=20;
t1=0:1/Fs1:Tl;
t2=0:1/Fs2:Tl;
t3=0:1/Fs3:Tl;
t4=0:1/Fs4:Tl;

f1 = @(x)square(sin(2*pi*x*1+pi/4));

s1=f1(t1);
s2=f1(t2);
s3=f1(t3);
s4=f1(t4);
subplot(2,2,1); stem(t1,s1);    hold on; fplot(f1,[0 Tl],'r');ylim([-2 2]); xlim([0 4]);
subplot(2,2,2); stem(t2,s2);    hold on; fplot(f1,[0 Tl],'r');ylim([-2 2]); xlim([0 4]);
subplot(2,2,3); stem(t3,s3);    hold on; fplot(f1,[0 Tl],'r');ylim([-2 2]); xlim([0 4]);
subplot(2,2,4); stem(t4,s4);    hold on; fplot(f1,[0 Tl],'r');ylim([-2 2]); xlim([0 4]);
Y1 = fft(s1,length(s1))/length(s1);
fc1 = Fs1/2*linspace(0,1,length(s1)/2+1);
Y2 = fft(s2,length(s2))/length(s2);
fc2 = Fs2/2*linspace(0,1,length(s2)/2+1);
Y3 = fft(s3,length(s3))/length(s3);
fc3 = Fs3/2*linspace(0,1,length(s3)/2+1);
Y4 = fft(s4,length(s4))/length(s4);
fc4 = Fs4/1*linspace(0,1,length(s4)/2+1);
figure
subplot(2,2,1);plot(fc1,2*abs(Y1(1:length(s1)/2+1)));ylim([0 2]); xlabel('f,Hz'); ylabel('|S(f)|');
subplot(2,2,2);plot(fc2,2*abs(Y2(1:length(s2)/2+1)));
subplot(2,2,3);plot(fc3,2*abs(Y3(1:length(s3)/2+1)));
subplot(2,2,4);plot(fc4,2*abs(Y4(1:length(s4)/2+1)));

Последний раз редактировалось Fazer77777; 24.12.2014 в 23:44.
Fazer77777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
Последовательность в C++ Bamb Помощь студентам 0 24.05.2012 22:35
Последовательность Dolbak2000 Паскаль, Turbo Pascal, PascalABC.NET 4 23.12.2011 03:13
Последовательность BigBen Помощь студентам 0 13.01.2011 06:16