Восстановить исходный аналоговый сигнал (изменяющееся во времени напряжение) из оцифрованной версии?
Я искал, как преобразовать мои цифровые данные в аналоговые.
Итак, у меня есть файл данных 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, а затем у вас есть аналитическое выражение для значений данных между этими точками. Сдвиньте одну и повторите. Вы можете усреднить значения для нескольких последовательных кривых, если хотите.