Здравствуйте, появился вопрос касаемо работы в Mathcad. Необходимо задать сигнал из суммы трех синусов с разными амплитудами и частотами, провести прямое преобразование фурье и получить пики, далее - вопрос №5104668
провести обратное преобразование, подскажите как это сделать? Заранее спасибо, сделать надо вручную без FFT и iFFT
Для задания сигнала из суммы трех синусов в 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, чтобы пользователь мог задавать параметры сигнала и получать результаты.
Добрый день. Меня заинтересовал ваш ответ "Для задания сигнала из суммы трех синусов в Mathcad можно использовать функцию sin с нужными амплиту..." на вопрос http://www.liveexpert.org/topic/view/5104668-zdravstvujte-poyavilsya-vopros-kasaemo-raboti-v-mathcad-neobhodimo-zadat-signal-iz-summi-treh-sinusov-s-raznimi-amplitudami-i-chastotami. Можно с вами обсудить этот ответ?