4-son LABORATORIYA ISHI
REKURSIV DIGITAL FILTRINI ISHLAB CHIQISH
Ishning maqsadi
Ishning maqsadi TMS320F2812 protsessoriga asoslangan rekursiv raqamli filtrlarni amalga oshiradigan dasturiy ta'minotni ishlab chiqish bo'yicha ko'nikmalarga ega bo'lishdir.
Ishga topshiriq
1. Raqamli rekursiv filtrni loyihalash.
2. DSP stendi asosida ishlab chiqilgan raqamli filtrni amalga oshiradigan dasturiy ta'minotni ishlab chiqish.
3. Ishlab chiqilgan raqamli filtr yordamida signallarni filtrlash.
4. Ish natijalari asosida xulosalar chiqarish.
Ish uchun tushuntirishlar
Yuqorida ko'rib chiqilgan FDATool to'plami, shuningdek, rekursiv raqamli filtrlarni loyihalash va ularning xususiyatlarini simulyatsiya qilish imkonini beradi [15]. Rekursiv bo'lmagan raqamli filtrni loyihalashda bo'lgani kabi, sintez natijalari C ++ dasturiy ta'minoti uchun sarlavha fayli sifatida boshqa dasturlarga eksport qilinishi mumkin.
Chiziqli raqamli filtrlash algoritmi [12] ifoda bilan tavsiflanadi.
yn-m
- chiqish signalining o'qishlari; am
- panjara funksiyalarini hisoblash. Butun
M soni - foydalanish uchun chiqish signalining namunalari sonini aniqlaydigan doimiy.
Rekursiv raqamli filtrni loyihalash natijasida {am} va {bk} koeffitsientlarning ikkita massivi yaratiladi [13, 14]. Bunda FDATool to'plami raqamli filtrni amalga oshirish shakli haqida ma'lumot beradi, ya'ni raqamli filtrni tashkil etuvchi havolalar turi va bog'lanish turi ko'rsatiladi [13].
Misol:
Chastota javobining (elliptik) elliptik yaqinlashish funktsiyasi bilan minimal tartibli rekursiv past o'tkazuvchan filtrni sintez qilish. Chiqib ketish chastotasi 50 Gts, namuna olish chastotasi 1 kHz. To'xtash diapazonining boshlanishi 70 Gts. Dizayn natijalarini C ++ da dasturiy ta'minot uchun sarlavha fayli sifatida saqlang.
FDATool to'plamining Filtr turi panelida filtr turini, bizning holatlarimizda past o'tkazuvchan filtrni ("Lowpass") tanlang. Dizayn usuli panelida rekursiv bo'lmagan filtrni ("IIR") va "Elliptik" chastotali javobning taxminiyligini tanlang. Filtr tartibi panelida "Minimal buyurtma" bandini belgilang. Chastota spetsifikatsiyasi panelidagi "Birliklar" maydonida chastota birliklarini (Gts), "Fs" maydonida, namuna
olish chastotasini (1000 Gts), "Fstop" maydonida - to'xtash diapazoni qiymatini (70 Gts) tanlang. ), " Fpass "da - kesish chastotasi (50 Gts). Keyin dizayn jarayonini boshlash uchun "Dizayn filtri" tugmasini bosing. Ro'yxatdagi harakatlardan keyin oynaning umumiy ko'rinishi rasmda ko'rsatilgan. 59.
Loyihalashtirilgan raqamli filtrning blok diagrammasi rasmda ko'rsatilgan. 60 (diagramma FDATool to'plami tomonidan yaratilgan). Shunday qilib, sintezlangan raqamli filtr bir-biri bilan ketma-ket bog'langan kanonik shakldagi to'rtta bo'g'indan iborat [13].
Sintezlangan filtrning koeffitsientlarini eksport qilish uchun siz C / C ++ da sarlavha faylini yaratish funktsiyasidan foydalanishingiz mumkin. Ko'rib chiqilgan misoldan raqamli filtrni loyihalash natijalari asosida yaratilgan sarlavha faylining matni G ilovasida keltirilgan.
Taraqqiyot
1. “Ish joyini laboratoriya ishlariga tayyorlash” bobining 1-18-bosqichlarini bajaring.
2. Matlab dasturiy muhitini ishga tushiring, Matlab muhitining buyruqlar qatorida quyidagi buyruqni bajaring:
>> fdatool
3. FDATool dasturida raqamli filtr modelini o'qituvchi tomonidan ko'rsatilgan topshiriqlar variantiga muvofiq sintez qiling. Sintezlangan filtrning xarakteristikalari grafiklarini oling.
4. Sintezlangan raqamli filtrning koeffitsientlarini "filter_coef2.h" nomli C / C ++ uchun sarlavha fayli sifatida saqlang.
5. “filter_coef2.h” faylini papkaga nusxalash
"X: \ Dig_filter2 \ DSP281x_ examples \ filter2", bu erda X - ushbu laboratoriya kursi uchun manba fayllarni o'z ichiga olgan haydovchi harfi uchun belgi.
6. Jilddan "tmwtypes.h" faylini nusxalash
"L: \ MATLAB6p5 \ extern \ include", bu erda L - Matlab muhiti o'rnatilgan haydovchi harfining belgisi, "X: \ Dig_filter2 \ DSP281x_examples \ filter2" jildiga.
7. No4 laboratoriya ishi uchun dasturiy loyihani oching. Buning uchun Code Composer Studio 3.3 muhitining asosiy oynasi menyusida elementlarni tanlang
"Loyiha" → "Ochish ..." (61-rasm).
8. Ko'rsatilgan oynada papkadan "Example_filter2.pjt" faylini tanlang.
"X: \ Dig_filter2 \ DSP281x_examples \ filter2" va "Ochish" tugmasini bosing. Shu bilan birga, Code Composer Studio 3.3 muhitining asosiy oynasining chap tomonida,
Loyihaning "Fayllar daraxti", uning tuzilishini aks ettiruvchi (62-rasm) [7].
9. “Fayl daraxti” bo‘ylab harakatlanib, “Example_281xSpi_FFDLB.c” faylini ikki marta bosing (63-rasm). Ro'yxatdagi harakatlardan so'ng oyna ko'rinishi rasmda ko'rsatilgan. 64. Kichik dasturning to‘liq matni
4-sonli laboratoriya ishi uchun "Misol_ 281xSpi_FFDLB.c" H ilovada keltirilgan.
10. “Example_281xSpi_FFDLB.c” fayli matniga quyidagi direktivani [17] joylashtiring:
#include "filter_coef2.h"
11. Loyihani kompilyatsiya qilish. Buning uchun Code Composer Studio 3.3 muhitining asosiy oynasida guruhdagi tugmani bosing. Agar kompilyatsiya paytida xato xabarlari bo'lmasa, loyiha muvaffaqiyatli tuzilgan deb hisoblanadi.
12. Mikroprotsessorni dasturlash. Buning uchun Code Composer Studio 3.3 muhitining asosiy oynasi menyusida Asboblar →
"F28xx On-Chip Flash Programmer". Bunday holda, ekranda oyna paydo bo'ladi.
"On-Chip Flash Programmer" (65-rasm)
13. On-Chip Flash Programmer oynasida Browse ... tugmasini bosing.
14. Ko'rsatilgan oynada (66-rasm) “X: \ Dig_filter2 \ DSP281x_examples \ filter2 \ Debug” papkasidan “Example_filter2.out” faylini tanlang va “Ochish” tugmasini bosing.
15. On-Chip Flash Programmer oynasida Flash Programmer Settings ... tugmasini bosing, bunda Flash Programmer Settings oynasi ochiladi (67-rasm).
16. "Flash Programmer Settings" oynasida "Browse ..." tugmasini bosing.
17. Ko'rsatilgan oynada (68-rasm) faylni tanlang
"FlashAPIInterface2812V2_ 10.out" va "Ochish" tugmasini bosing.
18. "Flash Programmer Settings" oynasida "OK" tugmasini bosing.
19. On-Chip Flash Programmer oynasida mikroprotsessorni dasturlash amallarini ishga tushiradigan Execute Operati-on tugmasini bosing.
DIQQAT! GA HAR QANDAY SIGNAL BERISH TA'QIQLANADI
MIKRO PROTCESSORNI DASTURLASH DAVRANIYDA DSP STANDNI KIRISH
DIQQAT! DSP STANDINING QUVTINI O'CHIRISH TA'KILIYDI
MIKRO PROTCESSORNI DASTURLASH DAVRANIYDA
Dasturlash paytida xato xabarlari bo'lmasa, mikroprotsessor muvaffaqiyatli dasturlashtirilgan deb hisoblang. Dasturlash jarayoni muvaffaqiyatli yakunlangandan so'ng, On-Chip Flash Programmer oynasini yoping.
20. DSP stendining "Kirish" ulagichiga signal generatorini ulang. Osiloskopni "Chiqish" ulagichiga ulang.
21. Jeneratördan 1 Gts chastotali va 2,5 V cho'qqigacha bo'lgan musbat qutbli garmonik signalni qo'llang.
22. Code Composer Studio 3.3 muhitining asosiy oynasi menyusida “Debug” → “Run” bandlarini ketma-ket tanlang.
23. Harmonik signalning chastotasini 1 dan 500 Gts gacha (kamida 10 qiymat) oralig'ida o'zgartirish, DSP stendining chiqishidagi kuchlanishning amplituda qiymatlarini osiloskop yordamida o'lchash va ularni jadvalga kiritish. 4.
24. Jadvalga muvofiq. 4 DSP stendining chastotali javobining 3-bandni bajarishda tanlangan vazifa varianti talablariga muvofiqligi to'g'risida xulosa chiqaring (5-jadval).
Nazorat savollari
1. DSP stendiga asoslangan rekursiv raqamli filtrni amalga oshirish uchun zarur bo'lgan C ++ buyruqlar ketma-ketligini keltiring. Har bir berilgan buyruqning maqsadini tushuntiring.
2. Sizga ma'lum bo'lgan rekursiv diskret filtrlarning chastota javobi yaqinlashuvi turlarini sanab o'ting.
3. Diskret filtrlarning mustahkamligi va maqsadga muvofiqligi qanday?
4. Raqamli rekursiv filtrning barqarorligi kompleks tekislikda uzatish funksiyasining nollari va qutblarining joylashishiga qarab qanday baholanadi?
5. Diskret filtrlarni amalga oshirish shakllari va mumkin bo'lgan ulanishlarini nomlang va qisqacha tavsiflang.
6. Raqamli rekursiv filtrning impulsli javob xususiyatlari qanday?
7. Raqamli rekursiv filtrlash algoritmida qanday matematik amallardan foydalaniladi?
8. Raqamli filtrning faza-chastota javobiga qanday talablar qo'yiladi?
9. Diskret filtrning guruh kechikishi nimaga teng?
10. Koeffitsientlarni kvantlash raqamli filtrlarning ishlashiga qanday ta'sir qiladi?
Do'stlaringiz bilan baham: |