-
- Спектр не нужен, я просто указал диапазон, в котором может быть заранее известная частота. Сигнала синхронизации нет, но можно поставить такой же кварц. - Vladimir Ljaschko(26.05.2013 08:27 - 08:30)
- АЦП + МК + цифровая фильтрация, не? - SciFi(26.05.2013 08:30, ссылка)
- Так, но должен быть какой-то упрощенный вариант синхронного детектора. - Vladimir Ljaschko(26.05.2013 08:33)
- Кстати, а чем вас пугает АЦП+МК? Посмотрите на STM32, там есть DCMI (digital camera interface) - на него отлично сядет внешний параллельный АЦП. И библиотека DSP имеется. - SciFi(26.05.2013 09:36)
- Для синхронного детектора нужен синхронизирующий сигнал. - SciFi(26.05.2013 09:30)
- Разве дисперсия 4 последовательных отсчетов АЦП через 1/4T не обеспечит результат пропорциональный амплитуде независимо от фазы? - Vladimir Ljaschko(26.05.2013 10:10)
- Это оцифровка с частотой 4f (f - частота сигнала). Как известно, оттуда можно полностью восстановить исходный сигнал. Изобретаем что-то новое в области ЦОС? - SciFi(26.05.2013 10:14)
- угу. Причем понятный на пальцах алгоритм в три строчки кода. - Vladimir Ljaschko(26.05.2013 10:18)
- Просто дисперсию нельзя: это будет мощность по всему спектру, включая все шумы. Если хотите, чтобы шумы отфильтровались, то это будет не совсем на пальцах и не 3 строчки. - SciFi(26.05.2013 10:23)
- Да не так страшен этот чёрт. Берём массив длиной 4N, набиваем отсчётами АЦП с частотой 4F, умножаем на синус { 0, 1, 0, -1 } и косинус { 1, 0, -1, 0 }, берём корень из суммы квадратов. Чем больше N, тем лучше избирательность по частоте, но тем йцукен(186 знак., 26.05.2013 13:25, )
- 1--3 МГц -- это не для микроконтроллера. Начиная с АЦП. Тот же STM32 даёт 6 MSPS, чего недостаточно. Алгоритмически, где-то 3 умножения, 3 выборки из таблицы и два сложения длинных чисел. Тактов 30 -- очень оптимистичная оценка для ассемблера и fk0(1200 знак., 26.05.2013 14:21, картинка)
- Собственно, из постановки задачи не следует, что все отсчёты АЦП нужно обрабатывать в реалтайме. Возможно, вариант "набил буфер через DMA - обсчитал - смыл - повторил" вполне приемлем. - йцукен(26.05.2013 16:34, )
- Если "если ширина полосы исходного сигнала всё же не 3МГц а сильно меньше", перенести "вниз" можно не "аналоговым способом", а спомощью undersampling'а. Про это тут уже тыщщу раз писАли.. - USSR(26.05.2013 15:19, )
- Есть одна
маленькаябольшая закавыка: нужен полосовой фильтр перед АЦП, иначе работать не будет, ибо в АЦП попадут потусторонние алиасы тоже. А фиг ты его так просто просто сделаешь. Проще сделать как на картинке с а-ля SDR-приёмник. fk0(402 знак., 26.05.2013 17:09 - 17:30)
- Есть одна
- тот же F303 даёт уже не 6MSPS, а 18MSPS в interleave mode - koyodza(26.05.2013 15:12, ссылка)
- Это алгоритм имени АОНа. В нём смысл для 8-битников без аппаратнонго умножения. Иначе можно не изобретать велосипед, а тупо умножать на синусы и косинусы, как написано в статье "Дискретное преобразование Фурье" в википедии. Будет сильно лучше (ибо fk0(996 знак., 26.05.2013 13:58)
- Это не квадратные тригонометрические функции, это обычный синус и косинус при значении аргумента { 0, pi/2, pi, 3pi/2 }. В АОНе такой фокус не проходит, потому что нужно детектировать разные частоты, и выбор волшебной частоты дискретизации йцукен(12 знак., 26.05.2013 14:14, )
- Кстати, это интересная идея применительно к АОНу. С ножки порта компаратора никто не запрещал считывать многократно, так чтоб каждй раз 4*F получалось, для каждой частоты --> таблица синусов не нужна. Но код, конечно, по тактам весьма нудно fk0(36 знак., 26.05.2013 16:55)
- "Отчётами АЦП с частотой 4*F" -- дьявол кроется в мелочах. Не заметил. Но, боюсь, ровно 4*F автору будет сложно получить: либо кварц 4*F*2^N, либо программируемый PLL в МК, и это всё не входит в конфликт с каким-нибудь USB, и F -- константа. fk0(105 знак., 26.05.2013 14:29)
- Это не квадратные тригонометрические функции, это обычный синус и косинус при значении аргумента { 0, pi/2, pi, 3pi/2 }. В АОНе такой фокус не проходит, потому что нужно детектировать разные частоты, и выбор волшебной частоты дискретизации йцукен(12 знак., 26.05.2013 14:14, )
- Именно! Вполне годное объяснение на пальцах. - SciFi(26.05.2013 13:27)
- 1--3 МГц -- это не для микроконтроллера. Начиная с АЦП. Тот же STM32 даёт 6 MSPS, чего недостаточно. Алгоритмически, где-то 3 умножения, 3 выборки из таблицы и два сложения длинных чисел. Тактов 30 -- очень оптимистичная оценка для ассемблера и fk0(1200 знак., 26.05.2013 14:21, картинка)
- Это я понимаю. Источником шумов могут быть только радиостанции в диапазоне СВ (тракт открытый), по моим оценкам на 40 дБ меньше минимального сигнала. - Vladimir Ljaschko(26.05.2013 10:27)
- То есть фильтровать вообще не надо? Просто измерить амплитуду с точностью 50%? Тады усилитель с перестраиваемым усилением + простейший детектор на диоде + МК с медленным АЦП. - SciFi(26.05.2013 10:32)
- Хороший вопрос про фильтрацию. Нужно оценить сигнал/шум и прочие условия более трезво. Спасибо за трезвые мысли. - Vladimir Ljaschko(26.05.2013 12:15)
- Как вариант, вместо PGA + detector можно взять demodulating logarithmic amplifier, например, AD8310. Обеспечивает диапазон 95 dB. - Лeoнид Ивaнoвич(26.05.2013 13:52)
- Хороший вопрос про фильтрацию. Нужно оценить сигнал/шум и прочие условия более трезво. Спасибо за трезвые мысли. - Vladimir Ljaschko(26.05.2013 12:15)
- То есть фильтровать вообще не надо? Просто измерить амплитуду с точностью 50%? Тады усилитель с перестраиваемым усилением + простейший детектор на диоде + МК с медленным АЦП. - SciFi(26.05.2013 10:32)
- Да не так страшен этот чёрт. Берём массив длиной 4N, набиваем отсчётами АЦП с частотой 4F, умножаем на синус { 0, 1, 0, -1 } и косинус { 1, 0, -1, 0 }, берём корень из суммы квадратов. Чем больше N, тем лучше избирательность по частоте, но тем йцукен(186 знак., 26.05.2013 13:25, )
- Просто дисперсию нельзя: это будет мощность по всему спектру, включая все шумы. Если хотите, чтобы шумы отфильтровались, то это будет не совсем на пальцах и не 3 строчки. - SciFi(26.05.2013 10:23)
- угу. Причем понятный на пальцах алгоритм в три строчки кода. - Vladimir Ljaschko(26.05.2013 10:18)
- Это оцифровка с частотой 4f (f - частота сигнала). Как известно, оттуда можно полностью восстановить исходный сигнал. Изобретаем что-то новое в области ЦОС? - SciFi(26.05.2013 10:14)
- Разве дисперсия 4 последовательных отсчетов АЦП через 1/4T не обеспечит результат пропорциональный амплитуде независимо от фазы? - Vladimir Ljaschko(26.05.2013 10:10)
- Так, но должен быть какой-то упрощенный вариант синхронного детектора. - Vladimir Ljaschko(26.05.2013 08:33)
- АЦП + МК + цифровая фильтрация, не? - SciFi(26.05.2013 08:30, ссылка)
- Спектр не нужен, я просто указал диапазон, в котором может быть заранее известная частота. Сигнала синхронизации нет, но можно поставить такой же кварц. - Vladimir Ljaschko(26.05.2013 08:27 - 08:30)