На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 63,
участников - 6 [ Greenland, Sgt, Unkers89, andory, XOR, Nefteugansk24]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Радиосигналы —› SDR: I/Q - как выделить несколько полос по 12500 Гц из гирокой полосы потока данных из SDR? 
Си-Би радиостанции в нашем магазине: Alan и Midland, Alinco, Intek, MegaJet, President, Yosan, Беркут, Таис


Alan 48 Excel
руб.

Alinco DR-135CBA New
руб.

MegaJet MJ-3031M Turbo
руб.

President Harry III ASC
руб.

Yosan Stealth 5
руб.
 Страница:  ««  1  2  3  4  5  6  7  8  9  »»Поиск в теме
Автор Сообщение
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 25 Янв 2023 23:43:43 · Поправил: Programmist (26 Янв 2023 00:15:14) #  

vladisslav2011
Протестируйте двухтональным сигналом. Один тон -6dbfs, второй -60dbfs.
Колом стоит. Весь спектр не гонял, конечно, но как-то так:



Что PCM32, что E-PCM16, не шевелится.
Есть разница в 2-3 дБ на слабом сигнале, но она не от формата зависит, а от точки начала измерения.
Можете сами попробовать, если есть wine.
Там другая засада, шум квантования отличается, но на уровне ниже -120.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 26 Янв 2023 02:50:04 #  

Programmist
Там другая засада, шум квантования отличается, но на уровне ниже -120.
значит ваш e-pcm эквавалентен pcm20.

И ваша софтина лжёт в цифре динамического диапазона: pcm16 это 96.33dB, 90.3 это pcm15
Реклама
Google
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 03:01:51 · Поправил: Programmist (26 Янв 2023 03:14:54) #  

sibrat
ваша софтина лжёт в цифре динамического диапазона: pcm16 это 96.33dB, 90.3 это pcm15
Считать будем? Формулу дать?

А у кого софтины нет, по шумам квантования:
PCM32:

E-PCM16:

И это предел точности для чисел 32 бита с плавающей точкой, FFT 64 бита.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 26 Янв 2023 03:09:23 #  

Programmist
Ой, ну не вам в людей формулами тыкать. Возьмите и посчитайте. Я то её очень хорошо знаю :)
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 03:13:15 · Поправил: Programmist (26 Янв 2023 03:13:58) #  

sibrat
Я то её очень хорошо знаю :)
Ok, 20*LOG10(32768)= 90,3089987 Сколько бит?
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 26 Янв 2023 03:14:01 #  

Programmist
ойвей. 15 разумеется =)
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 03:15:53 · Поправил: Programmist (26 Янв 2023 03:21:01) #  

sibrat
Садитесь, двойка.
Вот такие тут советчики, бамбук методички курить. ))
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 26 Янв 2023 03:22:26 #  

Programmist
Садитесь, двойка.))
да правда чтоли?!
Во первых формула звучит так: 20*LOG10(2^n), где n - число бит.
Во вторых, я всё детство прожил программируя на ассемблере и степени двойки не забуду никогда! А вы возьмите калькулятор.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 03:29:21 · Поправил: Programmist (26 Янв 2023 03:51:27) #  

sibrat
Причем здесь степень двойки, запишите в тип Int16 число 32768, сколько получится?
Хорошо, я подскажу: Constant expression violates subrange bounds.

я всё детство прожил программируя на ассемблере
Представить страшно, что получиться, когда Вы сделаете на ассемблере нормализацию комплексного сигнала.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 26 Янв 2023 03:53:01 #  

Programmist
какая связь между алгебраическими формулами и соглашениями языка на котором вы научились писать?
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 03:55:08 · Поправил: Programmist (26 Янв 2023 05:11:46) #  

sibrat
какая связь между алгебраическими формулами и соглашениями языка на котором вы научились писать?
Не связь, а разница. Методички курят, а на языке пишут.

значит ваш e-pcm эквавалентен pcm20.
Да, а АЦП больше двадцати не бывает у простых смертных.
И -120 дБ я уже не слышу, если при нуле оглохну, так что 100 с копейками вполне приемлемая величина, 90.3 мало.

Всё равно его ещё нет, микропроцессор не тянет квадратный корень.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 26 Янв 2023 12:52:05 · Поправил: Programmist (26 Янв 2023 22:03:40) #  

Оригинал PCM16 0 дБ:



PCM16 -84 дБ:



E-PCM -150 дБ:



Имеем небольшую такую прибавочку ДД в 66 дБ и немного прибавочку в качестве, если это можно назвать немного.
С более высокой частотой дискретизации качество было бы лучше, но копилка не резиновая.
В общем, довольно показательно, что происходит с PCM16 на малых уровнях записи.

//
Если вернуться к фильтрам, то самый крутой это sinc.
Когда из сигнала надо сделать конфетку применяется именно он, но из методички вы его не сделаете.
А если и сделаете, то будет работать так медленно, что лучше вообще без фильтра.)
А в википедии херня.

Здесь, как вовремя заметил vladisslav2011: Функции высших порядков можно получить из функции нулевого порядка через полином Чебышева.
В крайнем случае, просто берите и используйте вот это.
Один из шагов к тому, чтобы ваш SDR стал лучшим по качеству звучания.

YuriVR
sibrat
И не учите меня, пожалуйста, жить, я сам разберусь, кому ходить в школу.
YuriVR
Участник
Offline5.0
с ноя 2008
Омск
Сообщений: 2681

Дата: 27 Янв 2023 20:46:23 #  

Programmist
Ok, 20*LOG10(32768)= 90,3089987 Сколько бит?

Вас не учу, Вы необучаемый, но чтобы посмеяться, отмечу, что при разрядности 16 бит ДД в полной полосе по школьной формуле будет все же ближе к 96 дБ, т.к. Вы забыли учесть знак, взяв только 15 бит.
первый попавшийся источник - https://www.audiomania.ru/content/art-4042.html#:~:text=%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%B4%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD%2016%20%D0%B1%D0%B8%D1%82,%D1%82%D0%B8%D1%88%D0%B5%2C%20%D1%87%D0%B5%D0%BC%20%2D96%20%D0%B4%D0%91.
Ну а по поводу того, кто что сделал, кто-то мусорный код собирает из чужих модулей, кто-то делает железо, которое здесь обсуждают в других ветках, каждому свое )
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 27 Янв 2023 21:11:11 · Поправил: Programmist (27 Янв 2023 22:10:43) #  

YuriVR
Вы забыли учесть знак, взяв только 15 бит.
Не забыл я знак.
Децибелы в сигнале всегда считались по формуле 20*LOG10( abs(U) ), где U не равно 0;
//
И что теперь? Предлагаете считать по формуле 20*LOG10( abs(U * 2) )? Это сломает всё.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 01:19:00 · Поправил: Programmist (28 Янв 2023 01:36:19) #  

YuriVR
sibrat

И ещё как сломает.

Хорошо, пусть будет по-вашему: 20*LOG10(2^n), где n - число бит.

В таком случае: 20*LOG10(2^32) = 192.6591972 дБ.

Тогда вот это что? -800 дБ в сигнале float 32 бита:



Да ещё и прекрасно разговаривает после нормализации.
Я, конечно, мог ошибиться, но не настолько! Откуда взялись лишние 600 дБ?
vladisslav2011
Участник
Offline0.0
с фев 2022
СЗФО
Сообщений: 424

Дата: 28 Янв 2023 01:37:44 #  

Programmist
20*LOG10(2^32) = 192,6591972 дБ.
Для целочисленных сэмплов. В случае float динамический диапазон считается иначе.
Попробуйте 16bit float вместо вашего извращения с возведением в квадрат - будете приятно удивлены динамическим диапазоном (~180db). Но, как и в случае с квадратом, шумы дискретизации тоже будут расти вместе с сигналом)
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 01:46:27 · Поправил: Programmist (28 Янв 2023 04:01:13) #  

vladisslav2011
В случае float динамический диапазон считается иначе.
Как считается, когда везде float? Ладно, завтра сам разберусь, может быть...
В конце-концов эта ошибка ни на что не влияет, кроме надписи на галочке, даже на показометры уровня.
Из-за чего и спор возник. Но переделывать всё равно много.
С целыми числами наука победила, 1:1 в её пользу, 20*LOG10(2^n), где n - число бит.
Теперь мяч на моей стороне.)

Попробуйте 16bit float
Попробую, но не сегодня, такого типа нет, надо определять самостоятельно:
https://galfar.vevb.net/wp/2011/16bit-half-float-in-pascaldelphi/
Отличная идея! Вопрос не менее серьёзный, как это реализовать на микропроцессоре.

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

Странно, почему при разработке CD сразу float не сделали, тогда и разговоров бы не было, что лучше, винил или цифра.
У ушей тоже слух логарифмический, и не услышал бы никто шумов квантования в конце туннеля.)

А если ещё 8 бит float сделать, выходит что разработчики кодеков извращались зря.
Проверить надо обязательно, что даст меньше гармоник...
Глядишь, и в SDR можно в два раза меньше данных в порты загонять.

Методичка : http://www.radioscanner.ru/uploader/2022/8-bit_floating_point.pdf
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 28 Янв 2023 04:04:29 #  

vladisslav2011
Попробуйте 16bit float вместо вашего извращения с возведением в квадрат - будете приятно удивлены динамическим диапазоном (~180db). Но, как и в случае с квадратом, шумы дискретизации тоже будут расти вместе с сигналом)
формат float расширяет дд ценой thd. Если для 32 бит это абсолютно пренебрежимо, то для half-float, думаю, будет уже критично.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 04:08:18 · Поправил: Programmist (28 Янв 2023 04:08:56) #  

sibrat
для half-float, думаю, будет уже критично
Всё проверим, померяем, посмотрим на спектре, сравним и послушаем, но завтра.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 28 Янв 2023 04:17:32 · Поправил: sibrat (28 Янв 2023 04:19:12) #  

Хотя, что-то мне подсказывает что "thd+n" для float32 и int32 должен быть одинаков. Ибо нельзя сотворить больше данных из ничего.
Тут весь вопрос в том что мы продаём: если продаём дд то надо float, если продаём линейность - то int.
YuriVR
Участник
Offline5.0
с ноя 2008
Омск
Сообщений: 2681

Дата: 28 Янв 2023 06:32:45 #  

Programmist
Странно, почему при разработке CD сразу float не сделали

Вероятно потому, что компакт-диск не резиновый, и если увеличить разрядность, то время записи уменьшится, диск уступал бы винилу по времени. Когда появились CDDA, технологии были совсем иными, емкость 700 Мбайт была пределом. Легенда гласит, что формат и объем были выбраны так, чтобы любимое музыкальное произведение директора Sony (пишу по памяти, может не директора, но какого-то начальника) влезло на диск.

А по поводу 16 бит и 96 дБ смысл изучения и понимания книг в том, что при наличии понимания чушь про 90 дБ не написать. Считается то легко – каждый разряд повышает точность представления напряжения сигнала в 2 раза. 2 раза по напряжению – это 6 дБ.
Соответственно,16 разрядов без знака или 15 плюс 1 знак – не важно, число уровней сигнала одинаковое, точность представления одинаковая, значит, 16 умножить на 6 равно 96, все, никакой магии.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 28 Янв 2023 07:18:42 · Поправил: sibrat (28 Янв 2023 11:02:47) #  

YuriVR
Легенда гласит
Это легенда. 100500 раз опровергнутая =)
CDDA возникла не на пустом месте, компакт диск не первый цифровой звук и не первый лазерный диск. цифровой звук существовал и до изобретения компакт-диска. Частота 44100 это 294 × 50 × 3 или 245 × 60 × 3. Что это за цифры? Это число активных (видимых) строк на частоту полей по три (шесть для стерео) выборки на строку. Для PAL и NTSC стандартов. Да, чёрт возьми, до изобретения CD цифровой звук записывали на видеомагнитофоны!
А вот с диаметром (12см) сложнее. Скорее всего выбрали ближайшую круглую цифру к диагонали компакт-кассеты (11.5см) чтобы не выпасть из сегмента "компакт". провал огромных "laserdisk" ещё был очень свеж в памяти.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 08:14:21 · Поправил: Programmist (28 Янв 2023 09:25:56) #  

YuriVR
Вероятно потому, что компакт-диск не резиновый, и если увеличить разрядность, то время записи уменьшится
Не об этом речь, а о том что при использовании E-PCM кодирования время не уменьшится, а качество возрастёт в разы.
Компакт-диск он ведь не для точных измерений в децибелах предназначен, а музыку слушать.
Другое дело что в то время чипов для float не было, и мне на этих граблях ещё поскакать придётся.
Примерно как с квадратным корнем получилось. Либо AES256, либо E-PCM, а всё вместе микропроцессор не тянет.

при наличии понимания чушь про 90 дБ не написать
Я чушь про 90 дБ не писал, если и написал где, то для ускорения понимания, а не ускорения расчётов.
Тем более, здесь показано что получится, если записать в PCM16 -84 дБ. А кто не верит, может попробовать записать -90, чтобы посмеяться.
И -800 дБ в PCM32 присутствует, для сравнения.
Бабушка надвое сказала, кто больше ошибся, я на 6 дБ, или наука на 600++.)

Даже показометры в проекте у меня выглядят так:



И не потому что в PCM16 = -60 дБ, а потому что при реальном подключении устройств, в данном частном случае микрофонов, меньше не бывает.

//
В общем, я вижу, здесь дело заходит в тупик, если с количеством слонов на спектрометре быстро разобрались, то здесь ларчик не так просто открывается.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 10:22:26 #  

И не буду ничего исправлять, необучаемый я.
Кто верит в 96 дБ пусть пишет сигналы с уровнем -90 в PCM16, а мне хватит и -150 в E-PCM, при той же плотности записи на компакт-диск.
YuriVR
Участник
Offline5.0
с ноя 2008
Омск
Сообщений: 2681

Дата: 28 Янв 2023 10:24:57 #  

sibrat
до изобретения CD цифровой звук записывали на видеомагнитофоны
Это общеизвестно, как и то, что винилы лет 20 или больше уже штампуют с цифровых носителей. Но речь не об этом. Студийная бобина магнитофона может и больше объем иметь, чем компакт-диск. Речь о том, почему CDDA вмещает 74 минуты, а не 30 или 140. В те времена нельзя было создать бытовой (т.е. дешевый) носитель типа DVD или BD и плееры к нему. А длительность 74 минуты вполне достаточная для большей части LP.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 10:35:07 #  

YuriVR
почему CDDA вмещает 74 минуты, а не 30 или 140.
Потому что 9-я симфония Бетховена длительностью 73 минуты.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 28 Янв 2023 10:37:55 · Поправил: sibrat (28 Янв 2023 10:49:22) #  

Programmist
Потому что 9-я симфония Бетховена длительностью 73 минуты.
66
YuriVR
А длительность 74 минуты вполне достаточная для большей части LP.
максимальный 12" винил это примерно 22 минуты одна сторона

З.Ы.
Был винил со сверхтонкой дорожкой - со сжатым дд, это 70 минут обе стороны предел.
Были виниловые аудиокниги на 16 об/мин - это уже где-то 90 минут. И диски для супермаркетов. Но это уже не hifi.
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 28 Янв 2023 10:40:58 · Поправил: Programmist (28 Янв 2023 10:46:38) #  

sibrat
66
Спорный вопрос, но размер CDDA именно оттуда пошёл.
Самое известное длинное музыкальное произведение в мире.
wazzoo
Участник
Offline3.4
с авг 2016
Псков
Сообщений: 7287

Дата: 28 Янв 2023 10:49:26 · Поправил: wazzoo (28 Янв 2023 10:52:47) #  

Programmist
Кто верит в 96 дБ
Вы все с ног на голову перевернули. Это не вопрос веры, чистая математика. Количество разных чисел в 32 битах не может быть больше чем 2 в степени 32. Хоть как вы эти числа кодируйте - и во флоате дельфийском тоже количество разных чисел будет не больше.
А вот что касается ДД - вы просто подменяете ДД, свободный от искажений на ДД сигнала с искажениями.
Вы можете сделать например ДД=100дБ на 2х битах:
00=напряжение 1 от максимального
01=напряжение 1/100
10=напряжение 1/1000
11=напряжение 1/100000
Это тоже float, только мы сэкономили 30 бит и взяли 2 битный. И ДД здесь = 100 дБ
И легким изменением этого флоата вы можете получить ДД и 1000дБ - догадаетесь, думаю, как.

Но только вот сигнал у вас будет иметь искажения. И конечо, когда говорят о кодировании сигнала - речь ведут о ДД сигнала без искажений. И расчет требуемой частоты отсчетов и требуемой битности (а если точнее - требуемого числа градаций) идет для сигнала без искажений.

Тут даже не надо быть обучаемым - просто логику включите. Дельфийский флоат (как и флоат в других языках) - это именно оно, число с плавающей запятой - у которого могут быть какие угодно максимальные/минимальные значения, но количество разных чисел все равно будет не выше 2ки в степени числа бит.
sibrat
Участник
Offline1.6
с июл 2011
Новосибирская обл.
Сообщений: 878

Дата: 28 Янв 2023 10:55:38 #  

Programmist
Самое известное длинное музыкальное произведение в мире.
Вот это уж действительно спорное утвреждение. =)

К тому же 9-я сифония состоит из четырёх частей - нет ни малейшей даже гипотетической причины подгонять формат под их суммарную длительность.
Реклама
Google
 Страница:  ««  1  2  3  4  5  6  7  8  9  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.060; miniBB ®