Перетворення АЦП зразки відповідного формату фіксованою точкою

C

CMOS Babe

Guest
Привіт, у мене є система з АЦП, що отримує аналоговий сигнал, який може мати значення 0 - 5 У діапазоні.Сигнал повинен бути відфільтровані в цифровому вигляді.Моє питання як слід 8-бітні зразки бути перетворений у відповідності з форматом коефіцієнтів фільтра?

Спасибо.

 
Привіт
Ще я працюю над цим же project.for U необхідність розробки фільтра потім квантованими його в необхідних специфікацій.Зверніть увагу, що у зменшити не біт / Sample ур округлення (через квантування) спектр потужності шуму стає гірше.
такий виграш квантування до 8 bits.try 16 bits.If ур знайомі з Matlab спробувати fdatool.
Якщо і отримати всі повідомлення PLS поділяю його.

ура
Srinivas

 
Якщо я використовую АЦП зразки відразу з квантування коефіцієнтів фільтра розрахунки будуть не праві.Для прикладу скажемо, я використовую дрібно фіксованою точкою для представлення коефіцієнтів потім зразком АЦП буде мати різний зміст.Наприклад 1111 1111 проба 255 в десятковій системі і становить 4,9 вольт, а 1111 1111 коефіцієнт 0,9 (за умови, це знак для простоти).Так що мені потрібно знати, це те, що найбільш правильний підхід полягає в перетворенні АЦП сирі зразки в форматі, який я можу використовувати в розрахунках і отримати правильні результати.

 
Після прочитання першого повідомлення, то моя відповідь була б це (передбачається, що обробка сигналів використовується плаваюча кома в С):

Код:

непідписаних Char ADC_value / * 0 до 255 являє собою 0,0 до 5,0 вольт * /

подвійний signal_voltage;

...

signal_voltage = 5,0 / 255 * ADC_value;
 
echo47 пише:

Після прочитання першого повідомлення, то моя відповідь була б це (передбачається, що обробка сигналів використовується плаваюча кома в С):Код:

непідписаних Char ADC_value / * 0 до 255 являє собою 0,0 до 5,0 вольт * /

подвійний signal_voltage;

...

signal_voltage = 5,0 / 255 * ADC_value;
 
Привіт
U Know максимальних і мінімальних значень і отримати від АЦП.
говорити до 5 вольт.Знайте, який тип quantiztion ур ADC використовує для цих зразків.
Після U Know U максимальний діапазон може виділити, що багато бітів ур дробової частини і мантиса і далі.
Ex.
sayur максимального і мінімального значення 5 і 0.U Need 3 біта для мантиси, а решта 5 біт для дробової частини (8-бітовий формат, сказав U).
Якщо я правий, що є Ur оману яким фільтром знаєте, який формат даних coming.for, що і необхідно для квантування ур also.ur фільтра HDL повинні бути належним чином кодуються that.Even я роблю те ж саме.Я зробив за допомогою фільтра (Баттерворта смуговий порядку 6 SOS), а тепер роблять interfacng логіки для цього.
Якщо і це дійсно думаєте, що я зрозуміла неправильно робити PLS, поправте мене, щоб я міг виправити як це може викликати проблеми в подальшому.

ура
Srinivas

 
Я зазвичай використовую цілих обробки в ПЛИС, а не фіксованою точкою.Я б просто зсуву вліво 8-розрядні дані вхідного краще заповнити 18-мій Xilinx FPGA's бітне слово (але будьте обережні з переповненням фільтру), і канал, який надходить у фільтр.Відфільтрований вихідний буде мати коефіцієнт масштабування пов'язані з нею (у тому числі фактор АЦП, зсуву вліво фактору і посилення фільтру), але я не турбуйтеся про це, поки після виконання всіх обробки сигналу.Я звичайно застосовується коефіцієнт масштабування (одне множення) на дисплеї системи / виводу звичайного (можливо, програма на С Запуск призначеного для користувача інтерфейсу).
Остання редакція echo47 по 17 жовтня 2006 12:30; редагувалось 1 раз в цілому

 
Привіт Echo
Wat U сказати, як це
Ви говорите 24 біта U зрушити її надісланих 6 біт (для задоволення 18 біта обмеження у використанні ур FPGA), а потім помножити результат на 2 ^ 6.це Wat U Do?
Не сказати U фільтр форматів Coeff входів і виходів.??

 
Зсуву вправо, а не зсуву вліво.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />Так, я можу вхідні дані 24-розрядним цілим права перекладати її на 6 біт, годувати його через 18-бітний єдність коефіцієнтом підсилення фільтру, а потім лівою кнопкою перенести його на 6 бітів для отримання 24-бітного цілого вихідного.Загальних введення-виведення, щоб б єдність вигоди.

Коли я придумую фільтра в HDL, я звичайно сторони-код, вибравши розрядна ширина одного регістра, акумулятори, і коефіцієнт ROM.Вони є звичайними 2's цілих комплімент, ніяких спеціальних форматів.Якщо є коефіцієнт масштабування, пов'язаних з даними, я займаюся з нею після всіх обробки сигналів ПЛИС, то зроблено.

 
Я. зсув вправо.
Ви розробили фільтра таким чином в ЛПВЩ і отримали відповідні вихідні?
Гей мене є одна проблема.Як тільки ви отримаєте вихід фільтра (скажімо, від входу стенд з фільтром в HDL, як крок імпульс і AWGN). Як отримати цю моделювання вихід в Matlab або так побудувати його і перевірити.
будь-які пропозиції?

ура
Srinivas

 
Так, я багато вбудованих фільтрів, які шляхом.

Я не пробував використовувати MATLAB для тестування HDL результатів.Я звичайно розрахунку фільтра математику в MATLAB, виконати його в Verilog, перевірити його поведінка на декількох частотах місце в ModelSim, а потім завантажити на дизайн FPGA на моїй лавці і змести його з мережевий аналізатор.

 
Привіт Ехо Wat швидкостях мають U досягнута (тактова частота).
Я застряг на 70 МГц, і це до біса бідний я думаю швидкість.може в мене майже фільтра Verilog код так око я можу порівняти мої результати.
Спасибо Я заздалегідь.
srinivasrangaswamy (AT) yahoo.co.in

ура
Srinivas

 
70 МГц може бути швидким або повільним залежно від фішок, яким Ви користуєтесь.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />

Якщо ви повідомите нам ваш тип чіпа, я впевнений, що хтось може вказати вам на доброму уваги програми Xilinx і Altera, або хто.Або ви можете показати нам свій код і ми можемо допомогти вам покращити його.Ретельне конвеєрну зазвичай є рішенням.

Я зробив різні 18-бітові КИХ-фільтрів в Xilinx Virtex-II -4 чіпів (повільний дешевий клас).Вони комфортно працювати на 150 МГц на кран.Я міг би, мабуть, підштовхнули їх ближче до 200 МГц (що приблизно відповідає обмеженню Блоку НВЧ і множники), проте для мене додаткової швидкості не варто збільшити час на розробку і місце-час запуску маршруту.Я також грав з Spartan-3, і вона була приблизно аналогічною швидкістю.Я переїжджаю на Virtex-5 (будемо сподіватися) і Spartan-3E.

У мене немає чистої автономний фільтр, щоб показати вам, вибачте.Фільтри є лише кілька рядків коду, але вони чергуватися з іншими етапів обробки, які компанія власності.

 

Welcome to EDABoard.com

Sponsor

Back
Top