Доброе время суток!
Задача: сформировать сигнал для дальнейшей спектральной обработки
Имеем набор частот и амплитуд на этих частотах, сигнал представляет собой сумму синусоид A*sin(wt) и шума.
Ранее количество синусоид было постоянным и небольшим, две-четыре, создавалась под каждую свой сигнал (делала это и с помощью express и с генераторами синусоиды) и суммировала в формуле, где на входе были 4 сигнала, на выходе один.
Так как было решено хранить данный в БД(т.е. теперь набор частот и амплитуд - это одна таблица) и этих значений может быть много (более 10), встал вопрос как сгенерировать сигнал. Получаю два одномерных массива, но как их обрабатывать не понимаю. В голове сидит картинка, но меня не понимает.
Хотелось бы создать нечто универсальное ( т.е. с добавлением, третьего массива, например, значений фазы или шума не было очередного танца с бубнами )
Сигнал как сумма синусоид, параметры которых заданы в массив
-
- interested
- Сообщения: 2
- Зарегистрирован: 09 май 2016, 10:18
- Версия LabVIEW: 15
- Контактная информация:
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Сигнал как сумма синусоид, параметры которых заданы в ма
Что мешает сложить эти два одномерных массива?
-
- interested
- Сообщения: 2
- Зарегистрирован: 09 май 2016, 10:18
- Версия LabVIEW: 15
- Контактная информация:
Re: Сигнал как сумма синусоид, параметры которых заданы в ма
Наверное, плохо выразилась.
Один массив представляет набор частот(f0,f1,f2..fn), второй набор амплитуд(a0,a1,a2...an). Между собой не нужно складывать массивы.
На самом деле, я скорее путаюсь в представлении сигнала, потому что не до конца осознаю,что хочу получить,т.е. хочу я сигнал(в идеале, который толстенький синенький провод,как от express), зависящий от времени t, но в это же массив значений.
В общем, если б это был текстовый язык,то что-то в этом духе:
Один массив представляет набор частот(f0,f1,f2..fn), второй набор амплитуд(a0,a1,a2...an). Между собой не нужно складывать массивы.
На самом деле, я скорее путаюсь в представлении сигнала, потому что не до конца осознаю,что хочу получить,т.е. хочу я сигнал(в идеале, который толстенький синенький провод,как от express), зависящий от времени t, но в это же массив значений.
В общем, если б это был текстовый язык,то что-то в этом духе:
Код: Выделить всё
const N=10,T=500;
double freq[N],amp[N];
double dt=0.01,t=0;
{заполнение freq и amp данными}
double signal[T];
for(t=0; t<(T*dt); t=t+dt)
{
for(i=0;i<N;i++)
{
signal[t]=signal[t]+amp[i]*sin(2*pi*freq[i]*t)+noize(t);
}
}
- toshas
- assistant
- Сообщения: 105
- Зарегистрирован: 05 апр 2009, 22:45
- Версия LabVIEW: 9.0
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
- Контактная информация:
Re: Сигнал как сумма синусоид, параметры которых заданы в ма
На Labview это будет выглядеть точно также - два вложенных цикла.
На мой взгляд удобнее сначала выделять параметры (A,F), а потом полностью строить сигнал с заданными параметрами (от 0 до Т).
Так на каждой итерации (для каждого набора параметров A, F) при желании можно получить вид сигнала перед суммированием.
На мой взгляд удобнее сначала выделять параметры (A,F), а потом полностью строить сигнал с заданными параметрами (от 0 до Т).
Так на каждой итерации (для каждого набора параметров A, F) при желании можно получить вид сигнала перед суммированием.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Сигнал как сумма синусоид, параметры которых заданы в ма
<vi.lib>\Analysis\1siggen.llb\Tones and Noise.vi
Generates an array composed of a sum of sine tones, noise, and DC offset.
Tones contains the parameters for each sine tone.
frequency specifies the frequency of the sine tone in hertz.
amplitude specifies the amplitude of the sine tone.
phase specifies the initial phase of the sine tone in degrees. The default is 0.
Generates an array composed of a sum of sine tones, noise, and DC offset.
Tones contains the parameters for each sine tone.
frequency specifies the frequency of the sine tone in hertz.
amplitude specifies the amplitude of the sine tone.
phase specifies the initial phase of the sine tone in degrees. The default is 0.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 19 Ответы
- 641 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 6 Ответы
- 1063 Просмотры
-
Последнее сообщение JohnChaban