Автор |
Сообщение |
|
Дата: 22 Окт 2011 00:13:12
#
Programmist Ну да ошибочка вышла и я про то ж. :) Ещё ошибочка вышла с чудесами преобразований. :) SA не открывает мелкие файлы, потому не могу посмотреть что там у вас с дельта импульсом, но так думкаю, аналогичная ошибочка вышла. Имхо.
|
|
Дата: 22 Окт 2011 00:30:01 · Поправил: Programmist (22 Окт 2011 00:41:16)
#
Mesh
SA не открывает мелкие файлы
Отрезал кусок побольше (в Cool-e), файл заменил. Что-то там с плавающей точкой проблема. Скорей всего Adobe и Cool для чтения-записи используют какие-то свои внутренние форматы и преобразования, причем друг с другом не совместимые, а я сделал только то, что знаю.
Генератор пока совсем слабенький, никакой отработки ошибок нет. Надо делать полный контроль по всем полям, без этого в нем можно любой бред сгенерить, но тем не менее, это дата и свой формат он понимает.
Надо еще функцию добавить, чтобы обратно из матрицы в wav сохранять. Сейчас это делать рано, 32 бита остаются "темной лошадкой".
|
Реклама Google
|
|
|
Дата: 22 Окт 2011 00:54:06 · Поправил: Mesh (22 Окт 2011 00:54:47)
#
Programmist Побольше это 900 байтов? В SA вроде 4 кило минимал, а так что б не телипатся возле граничных условий, 10 или 12 будет в самый раз. А так, что там смотреть в этих байтах, какой анализ и чего можно провести?
|
|
Дата: 22 Окт 2011 01:09:43 · Поправил: Programmist (22 Окт 2011 01:14:34)
#
|
|
Дата: 22 Окт 2011 01:18:11
#
Programmist Да какая-то фигну. В копилка размер ваф показывала 198 кило, на диске у меня эти 198 кило равны 940 байтов. В архиве усё нормал.
Дык и чего вам не нравится? Дельта как дельта.
Увеличить |
|
Дата: 22 Окт 2011 01:22:06
#
|
|
Дата: 22 Окт 2011 01:27:58
#
|
|
Дата: 22 Окт 2011 04:12:23 · Поправил: Programmist (22 Окт 2011 16:52:21)
#
Программу Wav2Text обновил, ничего особо не изменилось, только теперь файлы на форму можно мышкой пачками закидывать, Drag and Drop типа, да и Adobe 32-х битные файлы с генератора читает. Формат текстовой матрицы совместим с CoolEdit, за исключением 24-х бит.
Может быть, кто подскажет формулу, на что теперь эту матрицу надо умножить или разделить, чтобы спектру сдвигать. FFT и умные книжки использовать не хочется. Должен быть какой-то более простой и быстрый вариант. Потом обработку обратно в wav упакую.
|
|
Дата: 22 Окт 2011 18:59:36 · Поправил: Sinus (22 Окт 2011 21:51:51)
#
Programmist, ок, спасибо, за обновлениями бум следить. Вот здесь спектры Ваших файлов из sfp40.rar от 21 окт. При мин. усилении сигнал имеет привычный вид (такое частенько наблюдается на осциллографе) - шумовая дорожка, изогнутая 50-герцовой помехой. При большом усилении эта помеха тонет в шуме; шум широкополосный, с более-менее равномерным спектром.
А спектр сдвигать - смотря что хотите получить. Если типа изменить тон ноты, то можно те же цифровые данные воспроизводить с другой частотой дискр. (тогда все частоты в сигнале умножатся на отношение новой и старой частот дискр.; длительность сигнала изменится). А если нужно ко всем частотам прибавить константу F, то надо, наверное, действовать по принципу преобразователя частоты в супергетеродинном приёмнике: типа умножать сигнал на синусоиду с частотой F и выделять фильтром верхнюю боковую полосу. Сдвиг спектра на константу не меняет длительности сигнала, но нарушает строй музыкальных тонов. Имхо, во всех случаях без фильтров и книжек не обойтись :) |
|
Дата: 22 Окт 2011 23:51:12
#
Дельта как дельта.
Это как посмотреть ;) Вот картинки этого импульса по данным из текстового файла, полученного в Кул Эдите; с нарастающим разрешением по времени:
http://s60.radikal.ru/i167/1110/ce/48991deedde1.jpg
А вот его FFT-спектр, в разных масштабах по частоте:
http://s008.radikal.ru/i303/1110/28/8146f9334235.jpg
Во временной области видны побочные колебания, в том числе - опережающие. Значит, дельта-импульс перед записью прошёл-таки через фильтр (видимо, анти-алиасинговый). В частотной области - всё как надо для дельта-импульса (широкий плоский спектр), за исключением непонятного провала около 20 Гц. |
|
Дата: 22 Окт 2011 23:59:24
#
Sinus Это как посмотреть ;) Да эт понятно. Оно ж не про качество дельты изначально было, а про то как её кажут разные смотрелки в том формате в каком она есть.
|
|
Дата: 23 Окт 2011 01:00:33 · Поправил: Programmist (23 Окт 2011 01:28:21)
#
Sinus
спектр сдвигать - смотря что хотите получить
Здесь люди давно просят сделать сдвигалку-обрезалку-конвертилку, для того, чтобы в своих мегагерцовых файлах выделить нужную полосу, сдвинуть спектр в слышимый диапазон, лишнее отрезать, потом сохранить в разумном формате. Как это реализовать, в голову не приходит, видно не время еще, да и задача не детская.
С опубликованной здесь записью дельта-импульса другая беда. Дело в том, что данные с плавающей точкой, у меня сейчас имеют тип Single, этот тип занимает в памяти 4 байта, а читается из файла, как последовательность байт b0, b1, b2, b3. В данном файле встречаются последовательности, к примеру 255, 98, 243, 255, а это для Singlа ни что иное, как Not A Number (не существующее число). Обычно, в таком случае программы должны выдавать Invalid Floating Point Operation, я просто пишу номер "неисправного" отсчета, а дальнейшее выполнение программы бессмысленно. Обнулять такие значения нельзя, это будет ерунда. Ни смотря на то, что они "неправильные", кто-то их все-таки записывал.
За идею с этой программой - отдельное спасибо, вижу в ней большие возможности.
Есть вопрос: Возможно ли в качестве разделителя столбцов матрицы, всегда использовать табулятор, чтобы в дальнейшем не связываться с пробелами.
Имхо, во всех случаях без фильтров и книжек не обойтись :)
Я не умею читать книжки с большим количеством формул. Код на Паскале привычен и читается легко, а перевод из книг, на понятный для меня язык, слишком сложен :(
|
|
Дата: 23 Окт 2011 01:24:00
#
Programmist Да есть всё это в SA. Вобщем ничего особо нового вы не далаете, даж прикольно видеть как вы так или по другому, приходите к тому что реализовано в SA. Так понимаю, если б вы хотя б читали описания этой проги, то половину сделали бы быстрее, эт по форматам загрузки файлов да и не только. Там тож я так смотрю в итого пришли к собственой читалке фомрматов. Сдвиги, обрезания, конвертилка дискрета и всё такое тож там есть. Ну да ладно, вобще так если хотите чего реал толкового сделать, посмотрите как сделано у других, и сделайте лучше, иначе будет пародия, имхо ессно. :)
|
|
Дата: 23 Окт 2011 01:35:28 · Поправил: Programmist (23 Окт 2011 01:44:26)
#
Mesh
Да есть всё это в SA
SA нету. Пусть будет пародия, что у других есть, так это оно у других, привык учиться на своих ошибках, имхо так оно более доходчиво и интересно :)
з.ы.
А ошибочка в wFormatTag-e была. Элементарная невнимательность. Сразу не заметил, что Adobe для 32-х бит юзает тройку, а Cool единичку. Вот он и (Adobe) и рисовал мне "веселые картинки" с wFormatTag=1 :)
|
|
Дата: 23 Окт 2011 01:44:06 · Поправил: Mesh (23 Окт 2011 01:48:32)
#
Programmist SA нету. Ну да, кто про что. Я вам про описания которые есть и где много чего написано, ну хотя да, оно кому как. Например мне было интересно узнать, что есть два формата 8 бит. :) Да пусть будет пародия, особено если сам автор не против :) Ну а так конечно биться головой об стену интереснее чем читать описания форматов и стандартов, смотреть как у кого что сделано, с тем что б сделать лучше или хотя б не хуже. Ладно. Делайте как хотите, ваши проблемы в конце концов.
А ошибочка в wFormatTag-e была. Элементарная невнимательность. Сразу не заметил, что Adobe для 32-х бит юзает тройку, а Cool единичку. Невнимательность?! Это имхо чтение стандартов по диагонали, там ведь всё написано, что есть 3 в теге. :-)
|
|
Дата: 23 Окт 2011 01:47:37
#
Mesh
По большому счету, оно все равно никому не надо, а так есть возможность другим из моих ошибок что-то найти для себя. Мои проблемы, ессно :)
|
|
Дата: 23 Окт 2011 02:46:29
#
Programmist
в качестве разделителя столбцов матрицы, всегда использовать табулятор
Проверил: матрицу, руками написанную в Блокноте, с клавишей Tab вместо пробелов, Маткад читает нормально.
для того, чтобы в своих мегагерцовых файлах выделить нужную полосу, сдвинуть спектр в слышимый диапазон, лишнее отрезать,
А что за мегагерцовые файлы? Пример (или пару) давайте, и задачу обрисуйте - какая конкретно там полоса нужная и т.п. Или ссылочку киньте, плз, где это описано. В Маткаде охотно с ними поразвлекаюсь; если что-то получится, пришлю отчёт :) Маткад с точки зрения пользователя даже как бы не язык, а нечто более простое: в нём все формулы пишутся практически как в книжках - никакого особого синтаксиса учить не надо. В нём легко можно смоделировать и испытать нужный алгоритм (а перевести его на конкретный язык программирования это уже второй вопрос).
|
|
Дата: 23 Окт 2011 03:49:41 · Поправил: Programmist (23 Окт 2011 16:24:24)
#
Sinus
с клавишей Tab вместо пробелов, Маткад читает нормально
Отлично! Значит формат данных будет совместим с Маткадом и Cool Edit-ом.
А что за мегагерцовые файлы?
Пока не разбирался, задача еще не под силу. Вот здесь, например, RadioKoteg просил:
http://www.radioscanner.ru/forum/topic44381.html
UA1CMD Programmist Послушайте, напишите переносчик спектра с аудио записей чтобы переносить спектра. Очень актуально это. Очень скажу. А то форум начинает заполняться лишними байтами в записях. Например записал по ПЧ на частоте допустим 12 кГц или даже 250 кГц а то и все пару МГц , а спектр полезного сигнала всего лишь 3 кГц, придется выкладывать в всю ПЧ а это бешеные размеры и нафиг никому не нужная информация дальше чем по бокам -+2 кГц.
Сейчас пишу обратное преобразование из матрицы в wav. Формат заголовка матрицы, значится, оставляем, как в Cool-е. Там все разделители - табуляторы, кстати, Exel такие файлы читает без вопросов. В будущем, можно любую дату читать сразу в 64 бита, далее можно делать с ней все, что угодно. Все серьезные редакторы, именно так и поступают, чтобы не делать лишних преобразований. После обработки, сохраняют в любом формате.
Выбрать правильный формат - это сейчас самое главное, переделывать будет поздно.
з.ы.
Если возможно какие-то формулы реализовать в Exel-e, с примером на небольшом кусочке матрицы - переведу в программу без проблем :)
Архив обновил до версии 1.04. Теперь можно конвертировать матрицу обратно в звук. Главное, не забыть включить заголовок "Include Cool Edit Header", Cool тоже эти текстовые файлы читает, но в нем нет 24-х бит. |
|
Дата: 23 Окт 2011 20:30:37 · Поправил: Sinus (23 Окт 2011 20:59:25)
#
Programmist, да, если Ваша программа будет матрицу чисел обратно конвертировать в wav-файл, причём не только в 16-битный, но и в 24 (и 32), это будет хорошо. Маткад умеет конвертировать числовые данные в wav, но только с разрядностью не более 16 бит. Одно из применений - создание сэмплов для "электронной музыки": сэмплы, синтезированные математически (а это широкое поле для экспериментов!), можно будет выдавать в виде wav высокого качества.
... записал по ПЧ на частоте допустим 12 кГц или даже 250 кГц а то и все пару МГц...
В это пока не въезжаю: могу понять только про запись 12 кГц -+3 кГц, но чем и куда людям удаётся записывать 250 кГц или даже 2 МГц - теряюсь в догадках... :) Наверное, шутко шутют...
|
|
Дата: 23 Окт 2011 22:39:01
#
Sinus Да ладно Наверное, шутко шутют... этим "шуткам" уже лет наверное под 10 толко на этом сайте, и наверно со времён появления радио вопросы анализу сигналов стали в полный рост сразу ж. А запись эт однозначный атрибут этих "шуток". Пошукайте форум, тут есть всё, что б в эту тему встрять. :)
|
|
Дата: 23 Окт 2011 23:16:01
#
Programmist
выделить нужную полосу, сдвинуть спектр в слышимый диапазон, лишнее отрезать, потом сохранить в разумном формате. Как это реализовать, в голову не приходит, видно не время еще, да и задача не детская.
:) Задачка как раз таки детская. Снести в ноль нужную частоту умножением на комплексную экспоненту, пропустить через ФНЧ и децимировать.
|
|
Дата: 24 Окт 2011 00:57:51
#
Mesh
Пошукайте форум
Ветка "сигналы на анализ" имеется ввиду? Дык там, насколько я понял, люди разбирают сигналы со сложной структурой, всякие зашифрованные... Перенос спектра в слышимую область им и нафиг не нужен - сигналы-то уже записаны в вав-файлы в слышимой полосе частот.
В общем, понял я так, что запись сигнала частотой 250 кГц (и тем более 2 МГц) - это прикол. Ни у кого такой нет и не будет, пока в компьютерах или плеерах не введут в обиход "звуковые" стандарты с частотой дискретизации более 500 кГц (а то и более 4 Мгц) :))
|
|
Дата: 24 Окт 2011 01:12:54
#
Sinus Ветка "сигналы на анализ" это лишь вершина айсбергу. Перенос спектра в любую область, слышима они или нет вопрос десятый, людям оченно нужно, как и вырезание и сдвиг и много чего другого. Другога сорта вопросы, что есть совершено неправильное мнение типо если не слышно то и нет ничего. :) Так ж как и обратно если уж услышу то ессно сразу разберусь что это, ага два раза. :) Есть записи и под 60 мегагерц и по более, так что что запись сигнала частотой 250 кГц (и тем более 2 МГц) - это прикол это не прикол, прикол называть это приколом, каламбурчик маленькой. :) И уж гораздо боле реал прикол, это думки Programmist что в том виде как он себе это представляет, Если возможно какие-то формулы реализовать в Exel-e, с примером на небольшом кусочке матрицы - переведу в программу без проблем :) . Ага, это называется ни фига не понимать что вобще это за задача и для чего её так решать.
Ну к примеру, хотел б я знать как он представляет себе определение из матрицы в виде текстовых чисел, что куда и насколько нужно сдвинуть? Типо это известно заранее? Откуда можно узнать? Это ж целый комплекс проблем, и не фигли мигли имхо.
Ну а для мп3 плейеров оно реал на фиг нужно, там всё просто грает или не грает, чего там вобще куда кому двигать и зачем?
|
|
Дата: 24 Окт 2011 01:22:02 · Поправил: RadioKoteg (24 Окт 2011 01:25:55)
#
Вот пример записи (3 МБ) когда надо выделять кусок спектра и переносить(в моем понятии не услышать а для экономии места) , конечно можно загрузить в SDR софт врубить в SSB и в реал тайме перезаписать в в другой аудио файл, но когда надо выделить больше 50 кГц то какой звуковой тракт SDR поймет такую ширину спектра, да и в SDR считается обычным это SSB не больше 10 кГц и то целевое для DRM.. |
|
Дата: 24 Окт 2011 01:34:25
#
Sinus
если Ваша программа будет матрицу чисел обратно конвертировать в wav-файл, причём не только в 16-битный, но и в 24 (и 32), это будет хорошо
Так вроде это работает уже, или нужен конвертер форматов?
|
|
Дата: 24 Окт 2011 01:48:28 · Поправил: Sinus (24 Окт 2011 01:51:59)
#
RadioKoteg, признаюсь, я первый раз вижу такой файл - плеер выдал инфу: частота дискретизации 1999000 Hz, 2 channels, 16 bits per sample, lenght 0:01.
Он был записан не со входа звуковой картой перс. компьютера, да? Ведь звуковые карты ПК, как я понимаю, со входа воспринимают только звуковой диапазон, а максимальная частота дискретизации - 192 кГц. Чем Вы записали 2 МГц и куда? Просветите, плз.
Programmist, извиняюсь, просто я ещё не в курсе возможностей обновлённой версии; скачал, но ещё не испытал. Раз уже работает, то всё ок, спасибо.
|
|
Дата: 24 Окт 2011 01:53:37
#
Sinus он был записан с АЦП с тактом 1999000 Hz и передан на комп в файл.
|
|
Дата: 24 Окт 2011 02:00:35 · Поправил: Sinus (24 Окт 2011 02:04:25)
#
RadioKoteg, а как передан-то на такой огромной частоте? Был записан в какую-то память вне компа, а позже из неё считан?
Или этот АЦП встроен в комп как плата расширения, и данные снего снимаются по внутренним шинам компа (тогда и драйвер для него должен быть установлен, под ту оп систему, которая на компе)? Это не любительская поделка, а что-то профессиональное, да?
|
|
Дата: 24 Окт 2011 02:07:56
#
|
|
Дата: 24 Окт 2011 02:10:12 · Поправил: Sinus (24 Окт 2011 02:10:36)
#
RadioKoteg, спасибо, изучу вопрос. Виноват, был не в курсе этих дел...
|
Реклама Google |
|