Нужна помощь

Прошедшие семинары, конференции и прочее
Pazolino
Сообщения: 2
Зарегистрирован: Пт янв 13, 2012 2:17 pm

Нужна помощь

Сообщение Pazolino » Пт янв 13, 2012 2:20 pm

Товарищи, помогите доработать скрипт.. Он вычисляет спектр от непрерывной функции sin
Как его доработать чтобы: вычислять спектр от дискретной функции.. пусть того же sin, но заданной по точкам: x1(t), x2(t+∆t), x3(t+2*∆t), x4(t+3*∆t)..
Буду благодарен даже материально.. денег на сотовый подкину.. или еще как..
gunper@mail.ru

clear all% Очистка памяти
%% Параметры
Tm=5;% Длина сигнала (с)
Fd=512;% Частота дискретизации (Гц)
Ak=0.5;% Постоянная составляющая (Попугаев)
A1=1;% Амплитуда первой синусоиды (Попугаев)
A2=0.7;% Амплитуда второй синусоиды (Попугаев)
F1=13;% Частота первой синусоиды (Гц)
F2=42;% Частота второй синусоиды (Гц)
Phi1=0;% Начальная фаза первой синусоиды (Градусов)
Phi2=37;% Начальная фаза второй синусоиды (Градусов)
An=3*A1;% Дисперсия шума (Попугаев)
FftL=1024;% Количество линий Фурье спектра


%% Генерация рабочих массивов
T=0:1/Fd:Tm;% Массив отсчетов времени
%%Noise=An*randn(1,length(T));% Массив случайного шума длиной равной массиву времени
Signal=A1*sind((F1*360).*T+Phi1);% Массив сигнала

%% Спектральное представление сигнала
FftS=abs(fft(Signal,FftL));% Амплитуды преобразования Фурье сигнала
FftS=2*FftS./FftL;% Нормировка спектра по амплитуде
FftS(1)=FftS(1)/2;% Нормировка постоянной составляющей в спектре
FftSh=abs(fft(Signal,FftL));% Амплитуды преобразования Фурье смеси сигнал
FftSh=2*FftSh./FftL;% Нормировка спектра по амплитуде
FftSh(1)=FftSh(1)/2;% Нормировка постоянной составляющей в спектре


%% Построение графиков
subplot(2,1,1);% Выбор области окна для построения
plot(T,Signal);% Построение сигнала
title('Сигнал');% Подпись графика
xlabel('Время (с)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика
subplot(2,1,2);% Выбор области окна для построения
plot(T,Signal);% Построение смеси сигнал
title('Сигнал+шум');% Подпись графика
xlabel('Время (с)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика

F=0:Fd/FftL:Fd/2-1/FftL;% Массив частот вычисляемого спектра Фурье
figure% Создаем новое окно
subplot(2,1,1);% Выбор области окна для построения
plot(F,FftS(1:length(F)));% Построение спектра Фурье сигнала
title('Спектр сигнала');% Подпись графика
xlabel('Частота (Гц)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика
subplot(2,1,2);% Выбор области окна для построения
plot(F,FftSh(1:length(F)));% Построение спектра Фурье сигнала
title('Спектр сигнала');% Подпись графика
xlabel('Частота (Гц)');% Подпись оси х графика
ylabel('Амплитуда (Попугаи)');% Подпись оси у графика

Vladimir__
Сообщения: 1656
Зарегистрирован: Вс дек 21, 2003 8:52 am

Re: Нужна помощь

Сообщение Vladimir__ » Пт янв 13, 2012 2:44 pm

Pazolino писал(а):Товарищи, помогите доработать скрипт.....

Вы в какой программе работаете?

Pazolino
Сообщения: 2
Зарегистрирован: Пт янв 13, 2012 2:17 pm

Сообщение Pazolino » Вс янв 15, 2012 8:11 pm

Matlab :!:

Vladimir__
Сообщения: 1656
Зарегистрирован: Вс дек 21, 2003 8:52 am

Сообщение Vladimir__ » Пн янв 16, 2012 9:03 am

Pazolino писал(а):Matlab :!:

Форум по MATLAB находится здесь: http://matlab.exponenta.ru/forum/index.php