Автоматическая передача данных через радиоканал
Re: Автоматическая передача данных через радиоканал
Ну что же - надо попробовать!
Вот скетч на три частоты - 340, 425 и 510 Гц.
Частота сэмплирования - 2 кГц,
N=200 отсчётов.
Спектральное разрешение Fs/N = 2000/200 = 10 Гц
. .
Уровни на выходе цифровых фильтров без сигнала:
. .
Размах сигнала 1,25 В р-р, значение минимального/максимального отсчётов 2/1016.
Подаём 337 Гц, максимальный отклик отказался на этой частоте
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 332...341 Гц
. .
сигнал 428 Гц
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 424...433 Гц
. .
сигнал 510 Гц
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 506...515 Гц
. .
Построим графики отклика по реальным измерениям.
Для частоты 337 Гц
. .
Так как снимать точки приходится вручную, для остальных частот не буду этого делать. Там то же самое.
Вот скетч на три частоты - 340, 425 и 510 Гц.
Частота сэмплирования - 2 кГц,
N=200 отсчётов.
Спектральное разрешение Fs/N = 2000/200 = 10 Гц
. .
Уровни на выходе цифровых фильтров без сигнала:
. .
Размах сигнала 1,25 В р-р, значение минимального/максимального отсчётов 2/1016.
Подаём 337 Гц, максимальный отклик отказался на этой частоте
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 332...341 Гц
. .
сигнал 428 Гц
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 424...433 Гц
. .
сигнал 510 Гц
ширина полосы по -3 дБ (уровень 0,707): 9 Гц = 506...515 Гц
. .
Построим графики отклика по реальным измерениям.
Для частоты 337 Гц
. .
Так как снимать точки приходится вручную, для остальных частот не буду этого делать. Там то же самое.
Последний раз редактировалось ru0aog 27 май 2025, 13:56, всего редактировалось 1 раз.
Re: Автоматическая передача данных через радиоканал
Побочные выбросы меня не удовлетворяют.
Применим оконную функцию Хэмминга
. .
Строим график
ширина полосы по -3 дБ (уровень 0,707): 13 Гц = 330...343 Гц
. .
Вот такой график меня устраивает гораздо больше!
Применим оконную функцию Хэмминга
. .
Строим график
ширина полосы по -3 дБ (уровень 0,707): 13 Гц = 330...343 Гц
. .
Вот такой график меня устраивает гораздо больше!
Re: Автоматическая передача данных через радиоканал
Но по программе выше чтение занимает 100 мс, что много.
Мне нужно быстрее.
Пусть будет:
Fs = 9 кГц,
Fq = 1 кГц,
N = 198.
Тогда длительность чтения составит 22 мс при приемлемом спектральном разрешении 45 Гц.
При этом я попробую выбрать минимумы значений между Хэммингом и отсутствием оконной функции - таким образом я надеюсь повысить крутизну скатов, но получу два вторичных всплеска по краям из-за более плавного спада характеристики Хэмминга.
. .
Практический график цифровых фильтров
ширина полосы по -3 дБ (уровень 0,707): 60 Гц = 965...1025 Гц
. .
Средний (красный) фильтр нужен мне для определения мощности шума.
Разделение первого и последнего каналов в отсутствие шумов достигают 40 дБ
Мне нужно быстрее.
Пусть будет:
Fs = 9 кГц,
Fq = 1 кГц,
N = 198.
Тогда длительность чтения составит 22 мс при приемлемом спектральном разрешении 45 Гц.
При этом я попробую выбрать минимумы значений между Хэммингом и отсутствием оконной функции - таким образом я надеюсь повысить крутизну скатов, но получу два вторичных всплеска по краям из-за более плавного спада характеристики Хэмминга.
. .
Практический график цифровых фильтров
ширина полосы по -3 дБ (уровень 0,707): 60 Гц = 965...1025 Гц
. .
Средний (красный) фильтр нужен мне для определения мощности шума.
Разделение первого и последнего каналов в отсутствие шумов достигают 40 дБ
Re: Автоматическая передача данных через радиоканал
Вот смотрю я на графики функций и хочется мне совместить высокий пик без оконной функции и отсутствие боковых выбросов функции Хэмминга
. .
Красные области можно из Хэмминга выкусить (остаются только два выброса), если выбирать минимальные значения при сравнении результатов двух функций. В предыдущем сообщении именно так и сделано
Вот как бы ещё добавить жёлтую область?
Пока вижу только одну возможность:
1. Поднять уровень сигнала до вхождение в ограничение. Тогда результат обработки алгоритмом Гёрцеля будет близок к теоретическому максимуму.
2. Если результат обработки без оконной функции близок к теоретическому максимуму (более 1/3 от теор.максимума), то принять результат без оконной функции.
. .
Красные области можно из Хэмминга выкусить (остаются только два выброса), если выбирать минимальные значения при сравнении результатов двух функций. В предыдущем сообщении именно так и сделано
Вот как бы ещё добавить жёлтую область?
Пока вижу только одну возможность:
1. Поднять уровень сигнала до вхождение в ограничение. Тогда результат обработки алгоритмом Гёрцеля будет близок к теоретическому максимуму.
2. Если результат обработки без оконной функции близок к теоретическому максимуму (более 1/3 от теор.максимума), то принять результат без оконной функции.
Re: Автоматическая передача данных через радиоканал
Как бы там ни было, стоит пока отложить эту проблему в сторону и
исследовать отклик алгоритма на разрядность АЦП.
Например, при тех же условиях
Fs = 9 кГц,
Fq = 1 кГц,
N = 198
проанализировать спектрограмму при различной глубине битности отсчётов АЦП.
Начнём с 2 бит
Осциллограмма включает 3 значения отсчётов сигнала
. .
На спектре мы видим, что ширина характеристики сохранилась, соотношения амплитуд пиков сохранились,
но снизилось абсолютное значение отсчётов на графике
. .
Сравним с глубиной отсчётов в 16 бит
. . .
Для одного тона принципиальной разницы нет. При снижении разрядности немного кривятся побочные выбросы, но некритично.
исследовать отклик алгоритма на разрядность АЦП.
Например, при тех же условиях
Fs = 9 кГц,
Fq = 1 кГц,
N = 198
проанализировать спектрограмму при различной глубине битности отсчётов АЦП.
Начнём с 2 бит
Осциллограмма включает 3 значения отсчётов сигнала
. .
На спектре мы видим, что ширина характеристики сохранилась, соотношения амплитуд пиков сохранились,
но снизилось абсолютное значение отсчётов на графике
. .
Сравним с глубиной отсчётов в 16 бит
. . .
Для одного тона принципиальной разницы нет. При снижении разрядности немного кривятся побочные выбросы, но некритично.
Re: Автоматическая передача данных через радиоканал
2 бита это, конечно, совсем грустно.
Пусть будет 4 бита.
Проверим, что будет если:
- два постоянных мешающих тона: 900 Гц, 1100 Гц,
- скользящий тон 800...1200 Гц (на осциллограмме он равен 1000 Гц),
- все три тона одного уровня, в сумме составляют около максимума для 4-битного АЦП (см. осциллограмму),
- частота настройки фильтра Fq = 1000 Гц.
. .
спектрограмма вполне разбираемая,
только наблюдается подъём подошвы, особенно для графика без обработки оконной функцией
. .
А что будет, если мешающие сигналы подойдут ближе к частоте настройки?
Например, на величину спектральной плотности?
то же самое, но
- два постоянных мешающих тона: 950 Гц, 1050 Гц
. .
ай-ай!
Оконная функция Хэмминга развалилась!
. .
впрочем, как и все остальные функции
.
Пусть будет 4 бита.
Проверим, что будет если:
- два постоянных мешающих тона: 900 Гц, 1100 Гц,
- скользящий тон 800...1200 Гц (на осциллограмме он равен 1000 Гц),
- все три тона одного уровня, в сумме составляют около максимума для 4-битного АЦП (см. осциллограмму),
- частота настройки фильтра Fq = 1000 Гц.
. .
спектрограмма вполне разбираемая,
только наблюдается подъём подошвы, особенно для графика без обработки оконной функцией
. .
А что будет, если мешающие сигналы подойдут ближе к частоте настройки?
Например, на величину спектральной плотности?
то же самое, но
- два постоянных мешающих тона: 950 Гц, 1050 Гц
. .
ай-ай!
Оконная функция Хэмминга развалилась!
. .
впрочем, как и все остальные функции
.
Re: Автоматическая передача данных через радиоканал
Поможет ли увеличение разрядности собрать график в кучку при недостатке спектрального разрешения?
Смотрим: то же, но 16 бит
. .
Нет, не помогло.
. .
Так, ясно:
- если есть мешающие сигналы, отстоящие от частоты настройки на шаг спектрального разрешения или около того, то оконные функции рассыпаются. При этом подошва графика с функцией Хэмминга выше подошвы графика без функций.
- первой "собирается" функция WELCH (на графике частоты 940, 1000 и 1060 Гц при спектральном разрешении 45 Гц)
.
Смотрим: то же, но 16 бит
. .
Нет, не помогло.
. .
Так, ясно:
- если есть мешающие сигналы, отстоящие от частоты настройки на шаг спектрального разрешения или около того, то оконные функции рассыпаются. При этом подошва графика с функцией Хэмминга выше подошвы графика без функций.
- первой "собирается" функция WELCH (на графике частоты 940, 1000 и 1060 Гц при спектральном разрешении 45 Гц)
.
Re: Автоматическая передача данных через радиоканал
Работа алгоритма при низком разрешении АЦП наводит на мысль, что определяющей является частота сигнала, а не его амплитуда.
Пусть будет:
Fs = 6 кГц
Fq = 1 кГц
N = 120
ADC = 10 бит
Один тон, 100 % от шкалы АЦП
. .
покажем только оконные функции
. .
Один тон, перегрузка х1,5 - начинаем входить в меандр
Видим появление спуров. Ни изменение разрядности, ни даже изменение спектрального разрешения не меняет картину
. .
Интересно, что перегрузка выше х10 не приводит к дальнейшему росту спуров
Тут х1000, чистый меандр
.
Пусть будет:
Fs = 6 кГц
Fq = 1 кГц
N = 120
ADC = 10 бит
Один тон, 100 % от шкалы АЦП
. .
покажем только оконные функции
. .
Один тон, перегрузка х1,5 - начинаем входить в меандр
Видим появление спуров. Ни изменение разрядности, ни даже изменение спектрального разрешения не меняет картину
. .
Интересно, что перегрузка выше х10 не приводит к дальнейшему росту спуров
Тут х1000, чистый меандр
.
Последний раз редактировалось ru0aog 28 май 2025, 11:05, всего редактировалось 12 раз.
Re: Автоматическая передача данных через радиоканал
Посмотрим, как фильтр различает несколько частот в условиях перегрузки.
Уровни трёх частот одинаковы, общая перегрузка х3.
Получается примерно как с перегрузкой - растут спуры, портится характеристика
. .
Уровни трёх частот х1+х3+х3, общая перегрузка х7.
Характеристика разваливается. Дальнейшая перегрузка недопустима
.
Уровни трёх частот одинаковы, общая перегрузка х3.
Получается примерно как с перегрузкой - растут спуры, портится характеристика
. .
Уровни трёх частот х1+х3+х3, общая перегрузка х7.
Характеристика разваливается. Дальнейшая перегрузка недопустима
.
- Вложения
-
- Гёрцель_06a.rar
- (135.4 КБ) 380 скачиваний
Последний раз редактировалось ru0aog 28 май 2025, 11:20, всего редактировалось 5 раз.
Re: Автоматическая передача данных через радиоканал
Каков вывод?
0. Чем дольше слушаем сигнал, тем больше накапливается о нём информации
При длительности чтения 20 мс спектральное разрешение составит 50 Гц при любой частоте сэмплирования.
1. Можно поднять частоту сэмплирования АТМега 328р с потерей разрядности, только это не поможет - роль играет спектральное разрешение, поднимая частоту сэмплирования нужно будет увеличить количество отсчётов, а это и так излишне нагружает контроллер.
2. Можно немного ввести сигнал в ограничение - и из шумов вытащить полезный сигнал.
Например, так.
Диоды физически ограничат напряжение после резистора на уровне +/-0,7 В, что чуть больше, чем разрешение АЦП.
. .
3. Возможно использовать оконную функцию HAMMING.
4. Нужны испытания на шуме эфира
делитель - время - частота
2 - 3.04 мкс - 329 000 кГц
4 - 4.72 мкс - 210 000 кГц
8 - 8.04 мкс - 125 000 кГц
16 - 15.12 мкс - 66 100 кГц
32 - 28.04 мкс - 35 600 кГц
64 - 56.04 мкс - 17 800 кГц
128 - 112 мкс - 8 900 Гц
0. Чем дольше слушаем сигнал, тем больше накапливается о нём информации
При длительности чтения 20 мс спектральное разрешение составит 50 Гц при любой частоте сэмплирования.
1. Можно поднять частоту сэмплирования АТМега 328р с потерей разрядности, только это не поможет - роль играет спектральное разрешение, поднимая частоту сэмплирования нужно будет увеличить количество отсчётов, а это и так излишне нагружает контроллер.
2. Можно немного ввести сигнал в ограничение - и из шумов вытащить полезный сигнал.
Например, так.
Диоды физически ограничат напряжение после резистора на уровне +/-0,7 В, что чуть больше, чем разрешение АЦП.
. .
3. Возможно использовать оконную функцию HAMMING.
4. Нужны испытания на шуме эфира
делитель - время - частота
2 - 3.04 мкс - 329 000 кГц
4 - 4.72 мкс - 210 000 кГц
8 - 8.04 мкс - 125 000 кГц
16 - 15.12 мкс - 66 100 кГц
32 - 28.04 мкс - 35 600 кГц
64 - 56.04 мкс - 17 800 кГц
128 - 112 мкс - 8 900 Гц