Дискретизація та квантування експериментальних даних

Одержання, обробка і ґенерування сигналу, DAQ, DAQmx
Ответить
tinomoko
interested
interested
Сообщения: 1
Зарегистрирован: 21 дек 2012, 13:40
Версия LabVIEW: 7.1
Контактная информация:

Дискретизація та квантування експериментальних даних

Сообщение tinomoko »

Більшість сучасних приладів працює з сигналами, представленими у цифровій формі, в той час як світ, що нас оточує, має аналогову (неперервну) природу. Тому виникає потреба у перетворенні сигналу в оцифровану форму, що здійснюється, як правило, двома етапами: дискретизація (зводиться до подання безперервного протягом часу сигналу низкою його миттєвих значень, взятих у задані, строго фіксовані моменти часу, які називають моментами дискретизації) та квантування (полягає в поданні безперервної за значенням (не за часом) величини у вигляді скінченного числа фіксованих рівнів квантування, що створюють шкалу квантування).

Розглянемо приклад дискретизації та квантування сигналу.

Сигнал представлений функцією:
y (t)=C⋅sin(B⋅t)+A⋅sin( D⋅t)
де t є [0 ;3] .
Корисна складова сигналу:
y (t)=C⋅sin(B⋅t) .
А=8, В=9, С=104, D=81

Моделюємо корисний сигнал та сигнал завади, задавшись значеннями частоти та амплітуди корисного сигналу і частоти та амплітуди сигналу завади за допомогою оператора Configure Simulate Signal.
01.JPG
Шляхом сумування цих сигналів отримуємо початковий вхідний сигнал.
За допомогою оператора Conver from Dynamic Data перетворюємо сигнал у числовий. Щоб дискретизувати сигнал по часу задаємося кроком дискретизації і створюємо новий дискретизований сигнал у вигляді масиву даних у Case Structure (відкидаємо кожне N-не значення сигналу (елемент масиву), в данному випадку кожен 10-ий елемент та записуємо залишкові значення у новий масив за допомогою оператора Build array). Записуємо значення початкового та дискретизованого сигналів у файли, за допомогою оператора Write to Spreadsheet File, розділяючи значення комами (документи poch.csv, dуscret.csv для початкового та дискретизованого сигналів відповідно).
02.JPG
Другим етапом є квантування по рівню. Для цього необхідно спочатку визначити амплітуду вхідного сигналу, дискретизованого за часом. Використовуємо Array max&min. Цей оператор дозволяє визначити максимальне та мінімальне значення сигналу, після чого ці значення ми додаємо та округлюємо до більшого. Це необхідно для визначення ціни одного розряду АЦП, яку ми розраховуємо наступним чином: отриману округлену суму ділимо на наперед задану (із завдання) кількість рівнів квантування.
04.JPG
Наступним кроком генеруємо масив значень, у якому з поточного сигналу кожен елемент замінено на ближчий більший. Потрібно вибрати той елемент, для якого різниця із поточним значенням більша/менша (залежно від умови) і записуємо квантова ний сигнал у файл.
06.JPG
Вигляд початкового, дискретизованого та квантованого сигналів відповідно
05.JPG
Ответить

Вернуться в «Обробка сигналу»