Восстановить исходный аналоговый сигнал (изменяющееся во времени напряжение) из оцифрованной версии?

Я искал, как преобразовать мои цифровые данные в аналоговые.

Итак, у меня есть файл данных ASCII с двумя столбцами (x: время, y= амплитуда напряжения), который я хотел бы преобразовать в аналоговый сигнал (изменение напряжения во времени). Существуют цифроаналоговые преобразователи, но хорошие довольно дорогие. Должен быть более простой способ добиться этого.

В конечном счете, я хотел бы восстановить исходное временное напряжение, которое отбиралось каждую наносекунду и записывалось в виде файла данных ASCII.

Я подумал, что могу подать данные на звуковую карту моего ноутбука и заново сгенерировать переменное временное напряжение, которое я затем смогу подать в анализатор через аудиоразъем. Это звучит выполнимо?

Я не смотрю на восстановление "формы", но сам сигнал (напряжение).

2 ответа

Озадачен несколькими аккаунтами.

Вы хотите convert into an analog signal (varying Voltage with time) Но то, что у вас уже есть, дискретный сигнал, действительно является "изменяющимся напряжением во времени", только то, что значения (напряжения) и время являются дискретными. Так работают компьютеры (цифровое оборудование в целом).

Только когда сигнал поступает на какой-то недискретный носитель (например, классический аудиокабель + штекер), мы получаем аналоговый сигнал. Именно звуковая карта вашего компьютера по своей сути является "цифро-аналоговым преобразователем".

Таким образом, кажется, что вы не пытаетесь выполнить какую-то цифровую обработку вашего сигнала (интерполяцию или что-то в этом роде), вы не имеете дело с компьютерным программированием, а имеете дело с аппаратными средствами: передачей сигнала по кабелю. Если так, то ТАК не то место. Вы можете попробовать https://electronics.stackexchange.com/...

Но, с другой стороны, вы говорите, что ваши данные "отбирались каждую наносекунду". Это означает 1 миллиард выборок в секунду или частоту выборки 1 ГГц. Это смехотворно высокая частота, по крайней мере, в мире аудио. Вы не можете вывести это на звуковую карту, которая будет ограничена звуковым диапазоном (около 48 кГц = 48000 сэмплов в секунду).

Вы хотите просто подогнать кривую к данным. Предполагая, что частота дискретизации достаточна, многочлена третьего порядка будет достаточно. В каждой точке N вы помещаете кубический многочлен в точки N-1, N, N+1 и N+2, а затем у вас есть аналитическое выражение для значений данных между этими точками. Сдвиньте одну и повторите. Вы можете усреднить значения для нескольких последовательных кривых, если хотите.

Другие вопросы по тегам