PDA

Просмотр полной версии : Трансивер прямого преобразования с DSP



Страницы : 1 2 [3]

alldn
02.07.2010, 13:53
Еще раз повторил фильтр и сдвиг уже с нормальными параметрами, чтобы посмотреть реальную крутизну скатов. Впечатляет. Надеюсь при переносе в железо ничего не ухудшится.

snow
09.07.2010, 11:32
Вопрос знающим - много ли RAM уходит на реализацию фильтров и других необходимых для SDR алгоритмов?
Хочется освоить ЦОС, а заодно и работу с FPGA - смущает малое количество оперативной памяти в ПЛИС, и вопрос в том, ставить ли на плату еще одну микросхему RAM. Очень хотелось бы избежать этого, т.к. тогда вся схема получится достаточно низкочастотной, что позволит снизить требования к монтажу.

vadim_d
09.07.2010, 12:00
а заодно и работу с FPGA - смущает малое количество оперативной памяти в ПЛИС
Тут подход один - обкатайте алгоритм в софте или в Матлабе, после чего станет понятно, сколько памяти и вычислительных ресурсов ему надо. После этого выбираете подходящую ПЛИС, глядя на количество DSP-блоков и памяти в ней.

alldn
09.07.2010, 18:21
Как в CCSv4 включить оптимизацию, заставляющую компилятор использовать DSP команды процессора?

Neekeetos
09.07.2010, 22:36
Сейчас видится именно оцифровка сигнала 12 кгц с частотой выборок 48 кгц, фильтрация 12300-14700 (аналог кварцевого фильтра), затем перенос полученного спектра на 12000 вниз.
Фильтр спроектировал, теперь ломаю голову над переносом.
Александр, конечно можно делать перестраиваемые фильтры на относительно высокой частоте, но рассмотрите такой вариант - если умножить Ваш оцифрованный сигнал на комплексный тон (гетеродин с квадратурными выходами), то на выходе получится комплексный сигнал (IQ) со спектром смещенным на частоту гетеродина в ту или иную сторону (в зависимости от полярности частоты комплексного тона). Далее сдвинутый сигнал можно отфильтровать используя ФНЧ и сместить отфильтрованный участок спектра на нужную рабочую частоту. (Это схема Уивера) . Из плюсов такого решения будут малая вычислительная трудоемкость фильтров, одинаковое качество фильтрации независимо от выбранного рабочего участка спектра (тк фильтры всегда с одинаковой крутизной), возможность выбрать рабочую частоту с точностью установки гетеродина (NCO полагаю),а не ограниченную набором заранее посчитанных фильтров. Учитывая что комплексные составляющие присутствуют только в программе, а аппаратно требуется лишь один канал, схема не усложнится (точнее вообще не поменяется).
Как в CCSv4 включить оптимизацию, заставляющую компилятор использовать DSP команды процессора?
Никак, либо используйте родные библиотеки ЦОС, они уже оптимизированы, либо пишите на ассемблере особо критичные участки.

alldn
10.07.2010, 07:14
Neekeetos, Спасибо. Я на схему Уивера поглядываю. Но так как я новый человек в ЦОС, то я хочу начать с более простых, на мой взгляд, схем.
Хочу уточнить, что мне бы не хотелось повторять структуру SDR приемников, я хочу сделать приемник по классической схеме. С нормальным синтезатором, плавно перестраивающемся в нужном диапазоне, переносом сигнала на низкую ПЧ и после этого полностью цифровой обработкой сигнала. В связи с этим меня интересует схема Уивера не для скольжения спектра по полосе частот, а для реализации фильтров с регулируемой полосой пропускания. Хотя для первого опыта подошли бы и заранее просчитанные несколько фильтров.

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

По поводу DSP команд, я тоже понял, что нужно писать ассемблерные вставки самой программы обработки, а все обрамление на C.

Александр Вдовенко
23.02.2011, 22:14
Замерла тема всерьез и надолго...
Выскажу предложение по поводу возможной платформы для любительского DSP:
Попвлся мне в руки отладочник от STM - STM32VLDISCOVERY (он же программатор и SWD адаптер, дополнительно нужен только USB шнурок). С устнановленным туда контроллером STM32F100RBT6 затруднялся найти ему применение...
А потом заменил штатный контроллер на STM32F105R8T6(Cortex M3, 72 MHz, 64kB Flash, 20kB RAM, USB, 2xI2S, ), кварц с 8MHz на 14.7456 + платка с аудиокодеком (сейчас стоит UDA1345). По производительности не ураган конечно, но при 11025 частоте дискретизации легко реализуется фазовращатель+ полосовой фильтр+измеритель уровня сигнала.
Для программирования и отладки можно пользоваться бесплатным Keil uVision .
Выглядит все так:
76553

RA1TEX
10.03.2011, 19:02
видели www.sdr-cube.com ? там на DSPIC33 рализовано через гильберта.

Александр Вдовенко
11.03.2011, 23:23
SDR-Cube проект интересный и неоднозначный.
Бросилась в глаза такая информация (стр. 16 из документа http://www.sdr-cube.com/doc/SDR%20Cube%20Overvie w%20(v7).pdf , весит около 7Мб ):

IMPORTANCE OF I & Q GAIN MATCHING

Multipliers are used for I and Q signals. Before correction, opposite sideband
rejection was around 21 dB. After finding the optimal gain corrections, opposite
sideband rejection improved to 25 dB. Gain factors for this "sweet spot" were: Left =
32768, Right = 28500. Ratio between the multipliers is 1.14975.
SoftRockIQ amplitude balance errors were 0.9607 V and 1.0688 V (ratio:1.1125),
so we believe the ratio magnitudes correlate quite well.
Why isn’t the opposite sideband rejection better? The shortfall is phase error and
general SoftRock"features". I/Q phase balance would be easy correct if a DDS is
usedasthe LO but with Si570 implementation it is not possible. (We have an option
to use either the onboard/offboardSi570, or an onboard DDS.)
Small phase error correction between I and Q can be done by adding small amount I
signal to Q signal or vice versa. This slight “cross mixing”of I and Q yielded good
results, and rejection was improved better than 50 dB.

Как-то не совсем красиво реализована коррекция амплитуды и фазы...

Александр Вдовенко
05.04.2011, 22:42
Продолжаю экспрерименты с блоком цифровой обработки на базе измененного STM32VLDISCOVERY. Получилось реализовать НЧ фазовращатель, сумматор для выделения нужной боковой полосы, набор фильтров (пока 4 шт), автоматическую коррекцию фазы (работает по входному сигналу, возможна коррекция в пределах +/- 10 градусов ), регулируемое "цифровое усиление" до 40 дБ. Частота дискретизаци 11025 Гц, фильтры КИХ по 197 звеньев, НЧ фазовращатель - сдвинутые на 90 градусов КИХ фильтры.
ВЧ часть пока отсутствует, все проверки проводились по I/Q файлам (софтом загруженным в kxDSP, после чего на выходе ЗК компьютера i/q каналы нужной радиостанции с регулируемым разбалансом).

После всего этого снимаю шляпу перед Получившими в аналоговой реализации подавление боковой под 70 дБ:super:
У меня получилось в районе 75 дБ, измерял подавая на вход кодека пропущенный через фазовращатель шум с ЗК , далее с выхода кодека на ЗК и на анализатор спектра.

Сейчас работаю над АРУ и с нетерпением ожидаю AK5394A для продолжения экспериментов!

RA1TEX
12.04.2011, 13:21
Александр в личку посмотрите.

Александр Вдовенко
12.04.2011, 19:50
Интересный способ формирования ОБП: http://www.jurnal.org/articles/2007/radio7.html (на рис.1 по идее должы быть ЦАПы вместо АЦП), проверял через kxDSP, ЦГ 1.5 кГц. При отклонении Г до 4 градусов от 90 звучит вполне пристойно.


Александр в личку посмотрите.
Посмотрел, ответил

Anvar
13.04.2011, 11:54
После всего этого снимаю шляпу перед Получившими в аналоговой реализации подавление боковой под 70 дБ

Это без напрягов. А с ними можно получить и 90 дБ, а с термостатированием и больше. И по энергопотреблению ЦОС проигрывает пока.

Александр Вдовенко
13.04.2011, 15:43
Добрый день, Анвар!
По энергопотреблению - в моем проекте:
микроконтроллер потребляет 36 mA по 3.3В,
кодек UDA1345 потребляет 21 mA по 3.3В,
АЦП WM8785 (только установил в конструкцию) должен потреблять 27 mA по 5В, 5 mA по 3.3В.

Да, возможно в аналоговой реализации с термостатом и лучше параметры будут, но и дороже.

Anvar
14.04.2011, 22:26
Добрый день, Анвар!
По энергопотреблению - в моем проекте:
микроконтроллер потребляет 36 mA по 3.3В,
кодек UDA1345 потребляет 21 mA по 3.3В,
АЦП WM8785 (только установил в конструкцию) должен потреблять 27 mA по 5В, 5 mA по 3.3В.

Да, возможно в аналоговой реализации с термостатом и лучше параметры будут, но и дороже.

Подсчитал по энергопотреблению, получается практически одинаково, что аналог, что цифра.
Но здесь предложу аналого-цифровое решение, которое упрощает аналоговую и цифровую части, и позволяет получить лучшие параметры.
Суть такова. ЦСП обсчитывает квадратурный несимметричный эллиптический фильтр. Это достаточно трудно, так как возникают ошибки округления на частотах режекции. Поэтому весь фильтр разбивается на два, причём функции первого звена берёт на себя УНЧ после смесителя, а затем АЦП и ЦСП, который обсчитывает вторую часть, порядок которой на единицу меньше. Это облегчает задачу ЦСП. Кроме того, можно сделать автомат подстройки высокочастотного фазовращателя и смесителей на цифровой части.

Александр Вдовенко
25.04.2011, 20:08
Разбить фильтр на цифровую и аналоговую части идея интересная, фильтр перед АЦП ведь все равно нужен. Но если Вы пишите что :


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

то уж сопряжение между собой этих двух частей задача еще более сложная.
Автоподстройка фазы ВЧ фазовращателя - классно, видел пример реализации в виде чипа, подстройка и 90 градусов и 180, на рассыпухе такое вряд-ли реализуемо. Наверное проще
программно фазовую ошибку компенсировать.

Anvar
25.04.2011, 20:44
Наверное проще
программно фазовую ошибку компенсировать.
У меня на выходе практическое решение аналогового квадратурного фильтра для ОБП на 70 дБ подавления (эллиптического) на ARC. А у Вас что готово по цифровому решению?

Александр Вдовенко
25.04.2011, 22:00
Anvar, весьма агрессивная постановка вопроса!
О том что готово - пердыдущей странице рассказывал. В качестве АЦП использую WM8785, до этого были UDA1361, PCM3001, АЦП кодека UDA1345. Пока WM8785 наилучший, хотя уже прибыли AK5394, попробую для сравнения и с ним. Сейчас собираю синтезатор частоты, планирую до майских успеть собрать приемник и испытать в "незашумленной" сельской местности.
Фазовая ошибка ВЧ фазовращателя отслеживается и компенсируется программно (набирается статистика-производится коррекция, занимает около 3 сек. Предполагается, что ДСП не взаимодействует с синтезатором частоты и подстройка включена постоянно), амплитудный разбаланс - просто умножением на коэффициент, хотя возможен и автомат.
Если пойдет как задумано, после майских выложу записи работы девайса.
По поводу аналогового решения - обеими руками за! Типа - RX - аналоговое решение, TX - цифра+аналог. Но "цифры" все больше и больше становиться - и дешевле и технологичнее.

Anvar
25.04.2011, 22:07
Но "цифры" все больше и больше становиться - и дешевле и технологичнее
Несомненно, но в слове "АЦП" есть буква "А".:-|

Александр Вдовенко
25.04.2011, 22:40
Есть и немало... И шумит, и чудит, и фазу перекашивает...
UDA1345 и UDA1361 без фильтров при выбранных у меня частотах дискретизации были чудесными приемниками радио Голос России на средних волнах (1413 кГц) . Получалось: 11025 выходная частота дискретизации, АЦП работает на 64*11025=705600Гц, прием был на 2*705600 =1411200 Гц. Потом уже в цифре сместил частоту на -1800Гц для "натурального" звучания.

Anvar
25.04.2011, 22:48
Есть и немало... И шумит, и чудит, и фазу перекашивает...
Ну, прям, по Крокусу:smile:

Александр Вдовенко
31.05.2011, 22:59
Наконец послушал свой модуль обработки в живом эфире. Приемная часть - FST3125+74AC164+74AC 86, усилитель SSM2019, для АЦП буфер на LM833, после ЦАП - TDA1308 для наушников (после всех внесенных на ходу изменений плата выглядит не фотогенично). Впечатления - самые приятные. Как раз попал на момент, когда двое мужиков (видимо с SDR) себе эквалайзеры настраивали (" Движок 30Гц видишь? Потяни вверх! О не-е, давай назад" и т.п) . В общем пока только слушал...

Anvar
01.06.2011, 00:14
усилитель SSM2019
Как её включили?

DV
01.06.2011, 07:52
Александр Вдовенко,
Александр, удалось ли провести какие нибудь измерения?

Александр Вдовенко
01.06.2011, 22:33
Как её включили?

Да без всяких особенностей. Входы через танталы 47 мкФ, по питанию керамика 10 мкФ на вывод, питание +/-12В, без автокоррекци смещения. А есть какие-то нюансы?

Измерения еще не проводил...
Для себя хотел бы посмотреть изменение фазы в ВЧ фазовращателе при перестройке по диапазонам для разных схем фазовращателей. А также АЧХ небезизвестного ключ+конденсатор

Anvar
02.06.2011, 09:42
Да без всяких особенностей
Как задали коэффициент усиления.

Александр Вдовенко
02.06.2011, 10:08
Коэфф. усиления задается набором SMD резисторов, резисторы переключаются джамперам.

Просмотрел Ваши посты по SSM2019 (http://www.cqham.ru/forum/showthread.php?t=210 1&page=247):


Включил смесители и переключил фильтр в режим несимметричного. Как и предсказывала модель, возникло самовозбуждение на частоте порядка 500 кГц. Согласно той же модели, вредное явление устранил посредством включения небольших индуктивностей последовательно с резисторами на 10 Ом в цепях эмиттеров ОУ SSM2019, что оказалось очень удобным, так как не нарушает симметрии и не добавляет шумов. Таким образом, данный ОУ нацелен на использование индуктивностей, а не ёмкостей.



Индуктивности последовательно с резисторами я не включал (кстати небольшие - это сколько?)

Anvar
02.06.2011, 18:25
Индуктивности последовательно с резисторами я не включал (кстати небольшие - это сколько?)
Возбуждение возникает только при использовании несимметричного фильтра с индуктивностями в нагрузке, за счёт паразитной емкости, которые дают свой фильтр на частоте 200-500 кГц. За счёт включения небольшой индуктивности (10-20 мкГн) на входе (эмиттерах) получается завал и генерация пропадает. Если есть желание сделать малошумящий НЧ фильтр прямо на SSM2019, то в качестве задающих резисторов включаютя последовательно индуктивность и резистор, причём отношение L/R определяет частоту среза (постоянную времени). У меня получалось, например, 4 мГн и 10 Ом. Обычно в качестве резистора выступает собственное сопротивление катушки. Желательно такой фильтр включать всегда, чтобы ограничить внеполосные сильные помехи прямо на входе УНЧ и поднять динамику.
Так как у Вас используется далее цифровой фильтр и вращатель, то можно рассчитать ФНЧ общий, разделить его передаточную функцию на два фильтра, одиниз которых будет на ОУ аналоговый (первого порядка), а остальная часть - цифровая. Тогда получится правильная АЧХ всего хозяйства.
Вообще, высокодобротные полюсы лучше отдавать хорошему аналогу, так как это облегчает ЦОС, уменьшает требования разрядности и быстродействия процессора.

Александр Вдовенко
22.06.2011, 23:46
Продолжаю дорабатывать свой ППП+DSP, и программную и аппаратную части. Пока без синтезатора (шумный он получился), перестройка многооборотным резистором, только 14 МГц. Антенна - провод 3.5 м на балконе, 6 этаж.

Во вложении - запись с выхода на наушники (для любителей смотреть спектры - горб выше 7 КГц - следствие работы ЦАП UDA1345, он есть независимо от сигнала, повышенный шум ниже 300 Гц - шумы TDA1308).

Phoenix
23.06.2011, 01:25
Отлично звучит приёмник, поздравляю!
Только уровень записи очень низкий.

Александр Вдовенко
23.06.2011, 08:33
Спасибо за поздравления!
По уровню записи - при записи слушал на Koss Porta Pro (60 омные) - было комфортно. Значит нужен еще и линейный выход со стандартным уровнем, а еще лучше запись на карточку памяти в самом аппарате :)

Александр Вдовенко
07.07.2011, 14:13
Привет всем!
Добавил в DSP модуль АМ детектор (реализован на CORDIC алгоритме, см. http://www.dspguru.com/dsp/faqs/cordic).

Во вложении - мелодия от Китайских вещателей (любят они низкие частоты, как и арабы).

Anvar
07.07.2011, 20:07
Продолжаю дорабатывать свой ППП+DSP, и программную и аппаратную части.
Можно показать АЧХ сквозного тракта (подавление боковых и работу высокочастотного фазовращателя).

Александр Вдовенко
07.07.2011, 23:06
Здравствуйте, Anvar!
Собрал как раз сегодня для проверки DSB модулятор, на него подается оганиченный по полосе шум с звуковой карты. В ближайшее время посмотрю и АЧХ и подавление боковых.
На счет работы ВЧ фазовращателя - то с синтезатором не сложилось - просмотреть в широком диапазоне пока не могу (синтез DDS AD9835 + PLL LMX1601, подобный конструкции от Сергея 4Z5KY, другой контороллер и прошивка. DDS работает прекрасно, PLL через раз. Разбираюсь...)

Anvar, как Ваш несимметричный фильтр? Совпал с расчетным?

Anvar
08.07.2011, 08:38
Anvar, как Ваш несимметричный фильтр? Совпал с расчетным?
Идеально:smile:

Александр Вдовенко
13.07.2011, 22:54
Можно показать АЧХ сквозного тракта (подавление боковых и работу высокочастотного фазовращателя).

Измерял отклонение фазы ВЧ фазовращателя на 74AC164+74AC02: получилось для тактовой частоты 14,31818 Мгц - 89,9 градуса, 24 МГц - 89,6 градуса, 50 МГц - 89,4 градуса.
Для измерения АЧХ сквозного тракта собрал модулятор также на 74AC164+74AC02, сигнал на него подается через буферы от звуковой карты, на процессоре звуковой карты реализованы генератор шума, ФНЧ 4.9 кГц, цифровой аналог фазовращателя на всепропускающих фильтрах. По такой схеме получилось подавить нерабочую полосу только на 50 дБ :( . Посему подавление боковых не привожу - реально то же, что и после модулятора. Будет более совершенный модулятор - тогда.

Дальше с модулятора сигнал идет на вход приемника, телефонный выход приемника - на линейный вход звуковой карты. АЧХ 3х фильтров на рисунках во вложении, горбы на АЧХ - модуляция частотами сети в самой звуковой карте. Все фильтры ФНЧ, ФВЧ - побочный результат широкополосного фазовращателя. Для приема АМ фазовращатель не используется - там только ФНЧ. Гетеродин для приемной и передающей части общий.

Anvar
14.07.2011, 10:26
Измерял отклонение фазы ВЧ фазовращателя на 74AC164+74AC02: получилось для тактовой частоты 14,31818 Мгц - 89,9 градуса, 24 МГц - 89,6 градуса, 50 МГц - 89,4 градуса.
Эта проблема одинакова как для цифрового, так и аналогового решения.

Будет более совершенный модулятор - тогда.
Попробуйте для калибровки метод второй гармоники.

ledum
14.07.2011, 11:04
Наверное надо еще учитывать асимметрию включения/выключения ключей, достигающих у ADG774, например, 3нс (здесь делается специально, чтобы исключить одновременное включение двух цепей), у SN74CBT3125 порядка 0.6нс, у PI5V330 - до 1.3нс

Александр Вдовенко
18.07.2011, 23:06
Попробуйте для калибровки метод второй гармоники


Наверное надо еще учитывать асимметрию включения/выключения ключей

Благодарю за советы! После нескольких доработок получилось довести подавление до 70 дБ (правда в полосе 3 Кгц, шире - сказывается неодинаковость ФЧХ выходов звуковой карты).
Доработки - программные в звуковой карте - плавно регулируемый фазовращатель и точная регулировка амплитуды.
Возможно можно и больше получить, если перебрать выходные фильтры ЗК, заменить джеки на RCA, и заменить UDA1361 на входе ЗК на AK5394 (а может проще отдельные АЦП и ЦАП по SPDIF подключить)

Anvar
18.07.2011, 23:18
Благодарю за советы! После нескольких доработок получилось довести подавление до 70 дБ (правда в полосе 3 Кгц, шире - сказывается неодинаковость ФЧХ выходов звуковой карты).
Это уже хорошо. Аналоговое решение также даёт 70 дБ стабильно. Надо двигаться дальше.

yl2gl
19.07.2011, 07:41
Лучший трансивер с прямым преобразованием и DSP, всеми лучшими примочками - это SDR !
http://www.rv3apm.com/rv3apmrus.html
Хотелось бы что-нибудь автономное, не привязанное к компьютеру, но с DSP.

Александр Вдовенко
19.07.2011, 08:47
Хотелось бы что-нибудь автономное, не привязанное к компьютеру
Наверное прорыв в построении таких систем радиолюбителями будет после выпуска STM контроллеров на Cortex-M4. И сейчас есть же и SDR-Cube и SDR2GO. Искал записи их работы (с линейного/телефонного выходов - не попадались... только камерой телефона).

Anvar! Да покажите уже Ваш несимметричный фильтр в работе! ;-)

Anvar
19.07.2011, 11:55
Anvar! Да покажите уже Ваш несимметричный фильтр в работе! ;-)
Если Вы имеете в виду звуковые записи на приём, то их сейчас выложить не могу.
В настоящее время получил все расчётные параметры фильтра и построил АЧХ методом второй гармоники, которая оказалась совпадающей с расчётной.

Александр Вдовенко
19.07.2011, 15:41
Интересно было бы глянуть АЧХ и подавление нерабочей полосы изготовленного фильтра. Я так понял, что АЧХ Вы снимаете по точкам перестраивая генератор(ы) на входе?

Anvar
19.07.2011, 19:12
Интересно было бы глянуть АЧХ и подавление нерабочей полосы изготовленного фильтра. Я так понял, что АЧХ Вы снимаете по точкам перестраивая генератор(ы) на входе?
АЧХ в полосе пропускания снимается с помощью измерителя АЧХ в звуковом диапазоне, например, звуковой платы компьютера, или другим прибором, например, СК4-56. Для этого на любой из двух входов фильтра подаётся сигнал, и снимается с любого выхода.
АЧХ в полосе задерживания снимается методом второй гармоники, так как он в этом случае наиболее чувствительный и точный. Я делаю обычно по точкам в количестве, равном удвоенному порядку фильтра на расчётных частотах, можно сделать программу для звуковой платы при желании для построения плавной кривой.

UA6BJU
24.09.2011, 18:03
Наверное прорыв в построении таких систем радиолюбителями будет после выпуска STM контроллеров на Cortex-M4.
А чем DSP от AD или TI плохи?

Александр Вдовенко
24.09.2011, 19:20
А чем DSP от AD или TI плохи?

Они то как-раз хороши, даже очень... Но согласитесь, что паять в любительских условиях 64 выводный корпус проще чем 144 и 176 выводный (а под BGA - платы заводские). Да и мощный контроллер с развитой периферией более гибкое решение.
DSP по моему мнению в любительских условиях применимы при наличии готовой отладочной платы с периферией на борту. Тогда все сведется к написаниию софта, возможно к замене штатного кодека и добавлению ВЧ части.

ivan219
24.09.2011, 20:12
Интересен алгоритм который вы использовали в DSP

DV
24.09.2011, 21:44
Александр Вдовенко,
Александр, как Вы считаете, достаточно ли ресурсов ATXmega для построения приемного тракта по Вашему алгоритму?

Александр Вдовенко
24.09.2011, 22:53
Александр, как Вы считаете, достаточно ли ресурсов ATXmega .....?

Я не работал с ATXmega, но думаю что ресурсов ее не хватит.
А что в ней так привлекает? Посмотрел на цену .... Близкая к Кортекс М3 от STM
STM32F105R8 стоит в районе 6$ (72МГЦ, 32 бита, 2 АЦП, 2 ЦАП, USB, 2xI2S, I2C, есть MAC), STM32F205RBT6 (120МГц) - немного больше.

По алгоритму: на входе фазовращатель в виде двух ФНЧ, затем сумматор, затем ФНЧ с изменяемой полосой. Между всем этим распределены система подстройки фазы, подстройки амплитуды, регулировки усиления.
В принципе это можно сделать и менее ресурсоемко: допустим применить фазовращатель не на FIR, а на цифровом эквиваленте фазовращателя на всепропускающих фильтрах

DV
24.09.2011, 23:07
А что в ней так привлекает?
Есть и АЦП и ЦАП - все в одном. Только память маловата(??) - 8кБ. Хочется попробовать фильтр через БПФ, а заодно и фазовращатель. На бумаге - вроде не сложно, но как на практике? (И хватит ли смелости на такую задачку :))

Александр Вдовенко
24.09.2011, 23:43
Есть и АЦП и ЦАП - все в одном.

Попробуйте просто реализовать на ней нечто типа http://elm-chan.org/works/akilcd/report_e.html или
http://elm-chan.org/works/rsm/report_e.html, реализация будет проще, так как есть ДМА каналы. И усиление регулируется.
Или так : для начала пишется программа, которая просто принимает данные с АЦП1 и АЦП2, на ЦАП1 выдает АЦП1+АЦП2, на ЦАП2 выдает АЦП1-АЦП2. И при этом входные данные не теряются, а выходной сигнал не рвется. А дальше наворачиваете математику или допустим задерживаете на 50 сэмплов выход ЦАП2 относительно ЦАП1 и т.п

ivan219
25.09.2011, 02:35
По алгоритму: на входе фазовращатель в виде двух ФНЧ, затем сумматор, затем ФНЧ с изменяемой полосой. Между всем этим распределены система подстройки фазы, подстройки амплитуды, регулировки усиления.
Довольно токи расточительный добиться хорошего подавления можно лишь с хорошим фильтром.
Если БИХ фильтр то 10 порядок.


В принципе это можно сделать и менее ресурсоемко: допустим применить фазовращатель не на FIR, а на цифровом эквиваленте фазовращателя на всепропускающих фильтрах
Единственный не достаток, частота дискретизации должна быть порядка 200000 выборок а лучше больше.
А та ка фазовращатель 10 порядка обойдётся в 10 умножений и 20 сложений на один семпл.
Вполне возможно и на ATXmega пошел но АЦП и ЦАП 12 битные а это динамика 60 дБ

Алгоритм есть не хватает знаний в железе.


Есть и АЦП и ЦАП - все в одном. Только память маловата(??) - 8кБ.
Так может для начала что по проще собрать?

Александр Вдовенко
25.09.2011, 08:12
Единственный не достаток, частота дискретизации должна быть порядка 200000 выборок а лучше больше.

Это наверное если до 20 кГц полосу хочется получить. До 6кГц достаточно было и 48000 (http://www.cqham.ru/forum/showthread.php?t=563 7&page=35).
Есть статья на эту тему - http://www.jurnal.org/articles/2008/izmer10.html

ivan219
25.09.2011, 12:26
Это наверное если до 20 кГц полосу хочется получить.
Нет это именно для 6 кГц.
Ну да ладно это всё подбирается экспериментально. И зависит от частот используемых в звеньях.

UA6BJU
28.09.2011, 22:59
Александр Вдовенко, добрый вечер, пожалуйста ответьте в ICQб я вам писал.