Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получение сигнала с ограниченным спектром
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
phantom
Задача такая - нужно формировать некоторый органиченный набор сигналов (например: пила, треугольник, меандр) с некоторой частотой дискретизации на компьютере в реальном времени. При этом спектр сигнала должен ограничиваться полосой пропускания системы и не иметь алиасинга. То есть надо строить сигнал так, чтобы он был похож на требуемый по форме в временном представлении, но имел ограниченный спектр. При этом отпадает необходимость последующей цифровой фильтрации для ограничения спектра. Когда-то видел подобное, но за ненадобностью не обратил на это внимание. Если знает методы построения риалтаймовых сигналов с ограниченным спектром - киньте линк, плз!
Lmx2315
..как это может быть - меандр с ограниченным спектром ? Это уже меандр с заваленными фронтами, а пилы соответственно - кривые , это будет устраивать?
А потом - почему вы боитесь альясинга - у вас не будет антиальясингово фильтра?
Ничего не получиться - отсчёты в аналоговый мир ступеньками выводятся, фильтр нужен - делать лесенку гладкой. Кстатит - меандру как раз спектр ограничивать и не надо и ступеньки - для него норма.
SyncLair
Цитата(Lmx2315 @ Dec 7 2012, 23:30) *
фильтр нужен - делать лесенку гладкой.


Видимо помимо лесенок сам исходный сигнал должен быть ограничен.
А что вам (топикстатер) мешает сгененрировать это в каком-нибудь аудиоредакторе и пропутить через НЧ хххного порядка?

ну потом просто play. Уточните пжста... вам какой сигнал то нужен реальный откуданибудь из дырки компа или просто в виде WAV файла?
beaRTS
Цитата(phantom @ Dec 7 2012, 23:03) *
на компьютере в реальном времени.

а никого не смущает эта фраза??
а как на компьютере реальное время замутить???.... ведь все основные оси от Виндовса до Линукса не работают в реал тайме. Вот список операционок реального времени
thermit
Цитата
beaRTS:
ведь все основные оси от Виндовса до Линукса не работают в реал тайме


Жаль тока, что всякие аудио/видео плееры про это не знают и бодро крутят кино с музыкой в реальном масштабе времени.

Цитата
phantom:
адача такая - нужно формировать некоторый органиченный набор сигналов (например: пила, треугольник, меандр) с некоторой частотой дискретизации на компьютере в реальном времени. При этом спектр сигнала должен ограничиваться полосой пропускания системы и не иметь алиасинга. То есть надо строить сигнал так, чтобы он был похож на требуемый по форме в временном представлении, но имел ограниченный спектр. При этом отпадает необходимость последующей цифровой фильтрации для ограничения спектра. Когда-то видел подобное, но за ненадобностью не обратил на это внимание. Если знает методы построения риалтаймовых сигналов с ограниченным спектром - киньте линк, плз!


Автор, почему бы не описать задачу доступным широким массам языком? Это же просто пипец какой-то. Стока буков и смысла около 0...
phantom
Цитата(Lmx2315 @ Dec 7 2012, 22:30) *
..как это может быть - меандр с ограниченным спектром ? Это уже меандр с заваленными фронтами, а пилы соответственно - кривые , это будет устраивать?
А потом - почему вы боитесь альясинга - у вас не будет антиальясингово фильтра?
....

Да абсолютно верно - надо получать сигналы с заваленными фронтами. sm.gif ....
Об реальном времени умолчу - поскольку не хочу участвовать в игре об точности определения термина "реальное время". Надо просто чтобы я мог крутить ручки "амплитуда/частота" и прога пересчитывала параметры функций не особо нагружая процессор.(то есть нагрузка на проц - определяющая величина!) и при этом выводила это все на устройство вывода - получится типа генератора спец. сигналов.
Алиазинговый фильтр будет - просто не охота, чтобы он был высокого порядка - из-за опять-же требуемых вычислительных ресурсов.
Можно конечно профильтровать все формы сигналов и позаписывать их в таблицы - но это как-то...если уже ничего не выйдет.
Ну как-то так.
beaRTS
Цитата(thermit @ Dec 8 2012, 13:11) *
Жаль тока, что всякие аудио/видео плееры про это не знают и бодро крутят кино с музыкой в реальном масштабе времени.

ну, дык, сами понимаете, что реальное время может быть разным. В Вашем примере реальное время= всего 25 Гц (кино), а часто бывает, что нужно с АЦП молотить мегагерцовый сигнал в реальном времени.. Жесткое реальное время все равно не обеспечится ни форточкой, ни линуксом.
eugen_pcad_ru
А звуковая карточка не подойдет?Создаете файл с требуемым сигналом и циклите воспроизведение.
TigerSHARC
Цитата(beaRTS @ Dec 10 2012, 05:57) *
ну, дык, сами понимаете, что реальное время может быть разным. В Вашем примере реальное время= всего 25 Гц (кино), а часто бывает, что нужно с АЦП молотить мегагерцовый сигнал в реальном времени.. Жесткое реальное время все равно не обеспечится ни форточкой, ни линуксом.

Для Linuxa есть Xenomai, а Windows бывает и CE.

Хотя "ловить" мегагерцовые прерывания всё равно не получится. Это Bare Metal вам в помощь. rolleyes.gif
DRUID3
Цитата(phantom @ Dec 7 2012, 21:03) *
При этом отпадает необходимость последующей цифровой фильтрации для ограничения спектра.

Так не бывает. Только для "постоянки"...

Цитата(TigerSHARC @ Dec 10 2012, 07:42) *
Хотя "ловить" мегагерцовые прерывания всё равно не получится.

А нужно оно? Не для всякого реалтайма эти "ксеномаи" нужны. В QEX за прошлый кажется год(нет, вру 2010, №9, 11) - проект любительского SDR с ucLinux на blackfin 537. Реалтайм? Да. Радар можно сделать. В конце концов звук то в реалтайме как-то "линукс" и "виндовс" пишут/играют - понятно, что реалтайм там переносится на контроллер(аудио например) а нереалтаймовым буферированием пренебрегают, но для многих задач это самое то.
phantom
Где-то я читал статью о быстром формировании сигналов с органиченным спектром...это было года 3 назад, и где - никак не вспомню. Но такое есть - точно. Мне надо генерить сигналы до 40кГц, поэтому технология звуковых плат вполне сойдет. Просто городить гигабайты фильтрованных сигналов в таблицах - это громоздко.
TSerg
Не пойму, в чем проблема программно генерить исходную форму сигнала и обрезать спектр программно-же, в пределах частотных и реал-тайм возможностей писюка?
phantom
Цитата(TSerg @ Dec 12 2012, 09:30) *
Не пойму, в чем проблема программно генерить исходную форму сигнала и обрезать спектр программно-же, в пределах частотных и реал-тайм возможностей писюка?

Проблема в том, что такой подход потребует гораздо больше ресурсов процессора, а они будут использоваться для других процессов, которые также должны синхронно выполняться.
Serg76
Цитата(phantom @ Dec 12 2012, 20:12) *
Проблема в том, что такой подход потребует гораздо больше ресурсов процессора, а они будут использоваться для других процессов, которые также должны синхронно выполняться.

при правильном программировании и нынешних мощностях современных процессоров (типа Intel i7) для таких невысоких частот (до 40 кГц) проблем нет, процессор вообще не должен "грузиться". sm.gif
phantom
По-моему, тема уходит в сторону. Если нечего сказать по теме - лучше вообще не отвечать, а не рассказывать что-то, в надежде на то что топикстартер первый раз за компом. Уверяю вас - с оптимизацией программного кода я знаком неплохо. А рассказывать полную задачу - я по понятным причинам не могу, да и чувствую что это не поможет.
Serg76
Цитата(phantom @ Dec 13 2012, 09:00) *
По-моему, тема уходит в сторону. Если нечего сказать по теме - лучше вообще не отвечать, а не рассказывать что-то, в надежде на то что топикстартер первый раз за компом. Уверяю вас - с оптимизацией программного кода я знаком неплохо. А рассказывать полную задачу - я по понятным причинам не могу, да и чувствую что это не поможет.

По-моему, Вы сами не знаете, что хотите. Чем не устраивает программная фильтрация, что в ней такого ресурсоемкого, если, конечно, не "городить" фильтр 10000-го порядка?
alex_os
Цитата(Serg76 @ Dec 13 2012, 10:29) *
По-моему, Вы сами не знаете, что хотите. Чем не устраивает программная фильтрация, что в ней такого ресурсоемкого, если, конечно, не "городить" фильтр 10000-го порядка?

Похоже, топикстартер чего-то не договаривает. На телесистемах когда-то был целый холивар про "безалиасную пилу". Так там суть проблемы была примерно в следующем. Скажем нужно нам сделать меандр с частотой не кратной частоте дискретизации и происходит следующий эффект - высшие гармоники меандра заворачиваются и накладываются на сам сигнал и вроде это как-то на слух плохо звучит.
Serg76
Цитата(alex_os @ Dec 13 2012, 10:05) *
Похоже, топикстартер чего-то не договаривает. На телесистемах когда-то был целый холивар про "безалиасную пилу". Так там суть проблемы была примерно в следующем. Скажем нужно нам сделать меандр с частотой не кратной частоте дискретизации и происходит следующий эффект - высшие гармоники меандра заворачиваются и накладываются на сам сигнал и вроде это как-то на слух плохо звучит.

Может быть, не знаю. Я к тому, что программная фильтрация не отнимет много ресурсов ЦП. В конце концов, работают же как-то программные генераторы, используя все ту же звуковую карту.
ZhekSooN
Цитата(alex_os @ Dec 13 2012, 10:05) *
Похоже, топикстартер чего-то не договаривает. На телесистемах когда-то был целый холивар про "безалиасную пилу". Так там суть проблемы была примерно в следующем. Скажем нужно нам сделать меандр с частотой не кратной частоте дискретизации и происходит следующий эффект - высшие гармоники меандра заворачиваются и накладываются на сам сигнал и вроде это как-то на слух плохо звучит.

Звучит плохо, зато выглядит как! rolleyes.gif
alex_os
Цитата(ZhekSooN @ Dec 18 2012, 00:47) *
Звучит плохо, зато выглядит как! rolleyes.gif

Ух ты какая красота ! Спектрограмма пилы переменной частоты?
TSerg
Цитата(phantom @ Dec 13 2012, 10:00) *
По-моему, тема уходит в сторону. Если нечего сказать по теме - лучше вообще не отвечать, а не рассказывать что-то, в надежде на то что топикстартер первый раз за компом. Уверяю вас - с оптимизацией программного кода я знаком неплохо. А рассказывать полную задачу - я по понятным причинам не могу, да и чувствую что это не поможет.


Это Вам так только кажется, поскольку вряд ли Вы знаете все, иначе бы здесь не появились.
Программные генераторы произвольных сигналов на писюках с использованием звуковой карты существуют очень давно, равно как и методы генерации сигналов с желаемым спектром.
При этом нагрузка на процессор минимальна.

"Оптимизация программного кода" <> "Оптимизация алгоритмов" <> "Системная оптимизация"
blackfin
Цитата(phantom @ Dec 11 2012, 12:16) *
Где-то я читал статью о быстром формировании сигналов с органиченным спектром...это было года 3 назад, и где - никак не вспомню.

Вспоминайте: Приподнятый косинус.
ZhekSooN
Цитата(alex_os @ Dec 18 2012, 07:35) *
Ух ты какая красота ! Спектрограмма пилы переменной частоты?

Да, основная гармоника изменяется от Fs/6 до Fs/4 (максимум - Fs/2). sm.gif
Собираюсь в универе сделать докладик по фрактальным свойствам этой штуки, вдруг что найду интересное wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.