Технологии

Здравствуйте, появился вопрос касаемо работы в Mathcad. Необходимо задать сигнал из суммы трех синусов с разными амплитудами и частотами, провести прямое преобразование фурье и получить пики, далее - вопрос №5104668

провести обратное преобразование, подскажите как это сделать? Заранее спасибо, сделать надо вручную без FFT и iFFT

март 20, 2023 г.

  • Всего ответов: 1

  • Денис - аватарка

    Денис

    36-й в Психологии

    Для задания сигнала из суммы трех синусов в Mathcad можно использовать функцию sin с нужными амплитудами и частотами, например:

    css

    A1 := 2;
    A2 := 3;
    A3 := 1;
    f1 := 50;
    f2 := 100;
    f3 := 200;
    t := 0..0.1..1;
    x := A1*sin(2*Pi*f1*t) + A2*sin(2*Pi*f2*t) + A3*sin(2*Pi*f3*t);

    где A1, A2, A3 — амплитуды синусов, f1, f2, f3 — частоты синусов, t — диапазон времени, x — заданный сигнал.

    Чтобы провести прямое преобразование Фурье, можно использовать функцию integral, например:

    css

    N := 256;
    df := 1;
    f := 0..(N-1)*df..N*df;
    X := [];
    for k from 0 to N-1 do
      X[k+1] := integral(x*exp(-2*Pi*I*k*f/N),t,0,1);
    end for;

    где N — количество отсчетов для преобразования, df — шаг частоты, f — диапазон частот, X — массив значений преобразования.

    Для получения пиков можно использовать функцию max, например:

    css

    [Xmax, kmax] := max(abs(X));
    fmax := f[kmax];

    где Xmax — максимальное значение преобразования, kmax — номер отсчета для максимального значения, fmax — соответствующая частота.

    Для проведения обратного преобразования Фурье можно использовать функцию sum, например:

    mathematica

    y := sum(X[k+1]*exp(2*Pi*I*k*fmax*t), k, 0, N-1)/N;

    где y — восстановленный сигнал.

    Также можно создать графический интерфейс с помощью модуля Dialog, чтобы пользователь мог задавать параметры сигнала и получать результаты.

    апрель 8, 2023 г.

Похожие вопросы

Решено

Закрыт

vip

300 i

Не отображаются картинки в AutoCAD

март 2, 2014 г.

Технологии