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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2015, 00:34   #1
railya2015
 
Регистрация: 01.03.2015
Сообщений: 8
По умолчанию Смоделировать временной ряд

Помогите пожалуйста смоделировать временной ряд длительностью 2 секунды суммы синусоидального сигнала с амплитудой 1.2 и частотой 10 Гц и синусоидального сигнала с амплитудой 2 и частотой 20 Гц при частоте дискретизации 100 Гц. Отобразить созданный временной ряд графически. Используя созданную в подпрограмму для расчета ДПФ, построить и отобразить на графике амплитудный спектр созданной реализации. Значения на оси частот графика амплитудного спектра отображать в герцах

Код:
procedure DPF(mas:Tmas;N,FSamp:integer;
var a,b:Tmas);
var m,i,h:integer;
  f:double;
  pi:extended;
  begin
   pi:=3.1415926;
    if (N mod 2=0) then m:=n div 2
    else
    m:=trunc(n div 2)+1;
    f:=FSamp/N;
    setlength(a,m);
    setlength(b,m);
    for h:=0 to m-1 do
    begin
      a[h]:=0;
      b[h]:=0;
      for i:=0 to N-1 do begin
        a[h]:=a[h]+mas[i]*cos(2*pi*h*i/N);
        b[h]:=b[h]+mas[i]*sin(2*pi*h*i/N);
      end;
      b[h]:=-2*b[h]/N;
      a[h]:=a[h]*2/N;
    end;
  end;
railya2015 вне форума Ответить с цитированием
Старый 18.04.2015, 10:13   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

в чём проблема-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 18.04.2015, 18:20   #3
railya2015
 
Регистрация: 01.03.2015
Сообщений: 8
По умолчанию

В том что не могу смоделировать временной ряд с такими характеристиками!
railya2015 вне форума Ответить с цитированием
Старый 18.04.2015, 22:01   #4
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Ну тут же просто.
За 2 с будет взято 2*100=200 отсчётов.
Значение 1-го сигнала будет f1(t):=1.2*sin(t*10.0*(2*Pi))
Значение 2-го сигнала будет f2(t):=2.0*sin(t*20.0*(2*Pi))
Формирование временного ряда
Код:
  for i:=0 to 200-1 do
    f3[i]:=f1(i*2/200)+f2(i*2/200);
FPaul вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смоделировать полет пчелы Pchel59 Помощь студентам 1 28.09.2013 10:50
Задана функция логарифмического синуса и ее разложение в ряд. Разработайте алгоритм вычисления разложения в ряд с погрешностью ξ пышь-пышь Помощь студентам 4 17.05.2013 07:49
Смоделировать ИИ в упрощенной среде Undertaken Свободное общение 22 12.04.2012 09:09
вычислить функцию с по-щью разложения в ряд.(Ряд Тейлора) feelstor Помощь студентам 2 26.12.2011 03:44
Смоделировать работу с очередью digger_zl Паскаль, Turbo Pascal, PascalABC.NET 4 24.12.2011 15:39