Projektowanie i implementacja filtru FIR

Podobne dokumenty
Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

Ćwiczenie 6 Projektowanie filtrów cyfrowych o skończonej i nieskończonej odpowiedzi impulsowej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Podstawy Przetwarzania Sygnałów

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

WOJSKOWA AKADEMIA TECHNICZNA

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

x(n) x(n-1) x(n-2) D x(n-n+1) h N-1

Laboratorium 1. Wprowadzenie do środowiska GnuRadio. I. Wprowadzenie

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

1.Wstęp. 2.Generowanie systemu w EDK

Laboratorium Procesorów Sygnałowych

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Bezpieczeństwo informacji oparte o kryptografię kwantową

Laboratorium: Projektowanie pasywnych i aktywnych filtrów analogowych

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Informatyka I : Tworzenie projektu

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

B. Kalibracja UNIJIG'a w programie Speaker Workshop. Po uruchomieniu program wygląda następująco:

Skrócona instrukcja obsługi czujników Fast Tracer firmy Sequoia.

AutoPROFIL R 6 Dodatek do opisu programu Współpraca z programem AutoCAD 2004, 2005, LT 2004 i LT 2005

Cyfrowe Przetwarzanie Obrazów i Sygnałów

POMIARY WYBRANYCH PARAMETRÓW TORU FONICZNEGO W PROCESORACH AUDIO

8. Realizacja projektowanie i pomiary filtrów IIR

Badanie właściwości multipleksera analogowego

Rozdział 4. Multimedia

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 3

KONFIGURACJA NOWEGO PROJEKTU W CODE COMPOSER STUDIO

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Ćwiczenie 11. Podstawy akwizycji i cyfrowego przetwarzania sygnałów. Program ćwiczenia:

POLITECHNIKA WARSZAWSKA WYDZIAŁ TRANSPORTU

POMIARY OSCYLOSKOPOWE II

Problemy techniczne SQL Server

Problemy techniczne SQL Server

Systemy multimedialne. Instrukcja 5 Edytor audio Audacity

Parametryzacja przetworników analogowocyfrowych

POŁÓWKOWO-PASMOWE FILTRY CYFROWE

Robot EPSON SCARA T3-401S

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Ćwiczenie 21. Badanie właściwości dynamicznych obiektów II rzędu. Zakres wymaganych wiadomości do kolokwium wstępnego: Program ćwiczenia:

1. Przekrój poprzeczny tranzystora nmos. Uzupełnij rysunek odpowiednimi nazwami domieszek (n lub p). S G D

Instrukcja obsługi programu:

Procesory Sygnałowe i Logika Programowalna Laboratorium Ćw. 2. Zajęcia wprowadzające II

Ploter I-V instrukcja obsługi

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Autorzy: Jan Szajdziński Michał Bujacz Karol Kropidłowski. Laboratorium: Projektowanie pasywnych i aktywnych filtrów analogowych

Laboratorium Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przetwarzaniem sygnałów w MATLAB. 2. Program ćwiczenia. Przykład 1 Wprowadź

INSTRUKCJA UŻYTKOWNIKA MPCC

Przykład rozwiązywania problemu w programie DSS1OPT

Podstawy programowania w środowisku Totally Integration Automation Portal

Laboratorium - Narzędzie linii uruchamiania w systemie Windows Vista

Ćwiczenie 4: Próbkowanie sygnałów

AutoPROFIL R 6 Dodatek do opisu programu Współpraca z programem AutoCAD 2006 i LT 2006

MultiBoot Instrukcja obsługi

Wzmacniacze napięciowe i ograniczniki dynamiki

Symulacje inwertera CMOS

Laboratorium - Archiwizacja i odzyskiwanie danych w Windows Vista

ĆWICZENIE LABORATORYJNE. TEMAT: Badanie wzmacniacza różnicowego i określenie parametrów wzmacniacza operacyjnego

LABORATORIUM ELEKTRONIKI

BADANIE MODULATORÓW I DEMODULATORÓW AMPLITUDY (AM)

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

1. Plik konfiguracyjny centrali Schrack BMZ Integral

STEROWNIK TUBY LED STM-64

UKŁADY Z PĘTLĄ SPRZĘŻENIA FAZOWEGO (wkładki DA171A i DA171B) 1. OPIS TECHNICZNY UKŁADÓW BADANYCH

Jak przenieść bazę danych na zdalny serwer?

Laboratorium Akustyki Architektonicznej

ZASTOSOWANIA PROCESORÓW SYGNAŁOWYCH - PROJEKT

INSTRUKCJA OBSŁUGI PROGRAMU INSTAR 1.0

Electronic Infosystems

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

Bramki Instrukcja do laboratorium AGH w Krakowie Katedra Elektroniki Ernest Jamro Aktualizacja:

Temat: Filtracja cyfrowa okresowych sygnałów deterministycznych Ćwiczenie 3

7 Business Ship Control dla Symfonia Handel

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

Temat: Filtracja cyfrowa okresowych sygnałów deterministycznych Ćwiczenie 3

Ćw. 0: Wprowadzenie do programu MultiSIM

Laboratorium - Narzędzia linii uruchamiania w systemie Windows XP

Ćw. 7 Przetworniki A/C i C/A

Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows 7

Wzmacniacze napięciowe z tranzystorami komplementarnymi CMOS

7 Business Ship Control dla Systemu Zarządzania Forte

Konfiguracja drukarki AdobePS w systemie Windows

Oscyloskop USB Voltcraft

WPROWADZENIE DO ŚRODOWISKA SCICOS

ANALIZA SYGNAŁÓ W JEDNÓWYMIARÓWYCH

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Część I. Pomiar drgań własnych pomieszczenia

MSP&IRED&Energia /6. Rys. xx Rozmieszczenie wyprowadzeń procesora [xx]

Transkrypt:

POLITECHNIKA POZNAŃSKA KATEDRA STEROWANIA I INŻYNIERII SYSTEMÓW Pracownia Układów Elektronicznych i Przetwarzania Sygnałów PROGRAMOWALNE UKŁADY CYFROWE I PROCESORY SYGNAŁOWE Instrukcja do ćwiczeń laboratoryjnych Projektowanie i implementacja filtru FIR 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie filtru przy pomocy pakietu MATLAB, a następnie jego zaimplementowanie na module DM6437 EVM. Podczas ćwiczenia zostanie dokonana filtracja sygnałów DTMF. AIC 33 Codec LINE IN LINE OUT Rys. 1. Rozmieszczenie gniazd wykorzystywanych w ćwiczeniu Wymagania: - system operacyjny: Windows 7 - środowisko programistyczne: Code Composer Studio v4. 2. Sprawozdanie W sprawozdaniu należy zamieścić odpowiedzi na pytania. 3. Przebieg ćwiczenia 3.1. Wstęp str. 1

Połącz wyjście HeadPhone Out komputera z wejściem Line In modułu oraz wyjście Line Out modułu ze słuchawkami/głośnikami. Połączeń dokonaj przewodami z końcówkami typu Mini Jack. Połącz moduł z komputerem oraz podłącz do niego zasilanie. Uruchom środowisko Code Composer Studio v4. Dokonaj ustanowienia komunikacji pomiędzy CCS i modułem. 3.2. Importowanie projektu Z menu File wybierz Import. Z listy CCS wybierz Existing CCS/CCE Eclipse Project i wciśniej Next. W kolejnym oknie zaznacz opcję Select archive file i kliknij przycisk Browse. Wskaż plik aic33_audio_fir.zip. Upewnij się, że na liście do importu zaznaczony jest projekt aic33_audio_fir. Zaimportuj go. Rys. 2. Okno importu projektu Rys. 3. Okno Project view str. 2

3.3. Projektowanie filtru Celem jest zaprojektowanie filtru dolnoprzepustowego FIR o długości 127. Do zaprojektowania filtru zostanie użyta metoda okienkowa. Częstotliwość odcięcia zostanie ustawiona na wartość 1 khz przy założeniu szybkości próbkowania 48 khz. Uruchom środowisko MATLAB. Poleceniem fdatool, uruchom narzędzie projektowania filtrów: Filter Design & Analysis Tool. Wprowadź następujące parametry: w obszarze Response Type wybierz Lowpass, w obszarze Design Method wybierz FIR, a w rozwijanym menu metodę projektowania Window, w obszarze Filter Order wybierz Specify order i wprowadź wartość 127, w obszarze Options w polu Window wybierz typ okna Hamming, w obszarze Frequency Specifications w polu Units wybierz Hz, w polu Fs wpisz 48000, w polu Fc wpisz 1000. Po zakończeniu wprowadzania kliknij przycisk Design Filter. W obszarze Magnitude Response (db) pojawi się charakterystyka częstotliwościowoamplitudowa projektowanego filtru. Odpowiedz na pytania Rys. 4. Okno narzędzia Filter Design & Analysis Tool Naszkicuj schemat zaprojektowanego filtru. Na podstawie charakterystyki częstotliwościowo-amplitudowej określ tłumienie w paśmie zaporowym oraz szerokości pasm: przejściowego, przepustowego i zaporowego. str. 3

3.4. Eksportowanie filtru W oknie Filter Design & Analysis Tool z menu Targets wybierz Code Composer Studio (tm) IDE. Otworzy się okno Export To Code Composer Studio (tm) IDE. W obszerz Variable names In C header file w polu Numerator wpisz h, a w polu Numerator lenght hl ; W obszarze Data Type to use in export zaznacz Export as, a następnie wybierz Signed 16-bit integer Kliknij przycisk Generate. Wybierz lokalizację zapisu w katalogu głównym projektu: C:\Laboratoria\PUCiPS\aic33_audio_fir Po zapisaniu kliknij przycisk Close. Rys. 5. Okno Export to Code Composer Studio (tm) IDE 3.5. Implementacja zaprojektowanego filtru Przejdź do programu Code Composer Studio. Otwórz plik main.c i przy pomocy dyrektywy include dołącz plik "fdacoefs.h". Zapoznaj się z zawartością plików main.c oraz fdacoefs.h. Zmodyfikuj program tak, aby na jednym kanale odtwarzany był oryginalny sygnał wejściowy, a na drugim sygnał filtrowany. Z katalogu C:\Laboratoria\PUCiPS\aic33_audio_fir\DTMF - przykłady odtwórz przy pomocy programu Windows Media Player dowolny plik sygnału DTMF. Uruchom program na module DM6437. Odpowiedz na pytania Opisz funkcję fir_filter(). Co zawiera utworzony plik fdacoefs.h? 3.6. Podłączanie i konfiguracja oscyloskopu Podłącz wyjście modułu Line out do wejść CH1 i CH2 oscyloskopu cyfrowego. Połączenia dokonaj przewodem Mini Jack - RCA z przejściówkami RCA - BNC. Wciśnij przycisk AUTO. str. 4

Wciśnij CH1 i wybierz Coupling AC, BW Limit OFF, Probe 1X, Digital Filter OFF. Ustawienia powtórz dla CH2. Wciśnij MATH i wybierz Operate FFT, Display Full Screen, Scale V RMS. Dwukrotnym naciśnięciem CH1 i CH2 wyłącz wykresy przebiegów czasowych sygnału. Pokrętłami SCALE ustaw wartości dla VERTICAL 1.00mVrms/div, dla HORIZONTAL 500.0kHz/div. Ustaw pozycję wykresu pokrętłami POSITION tak, aby widoczny był początek widma sygnału. Zmieniaj odtwarzane pliki sygnałów DTMF, aby zaobserwować zmiany w widmie sygnału Zmień źródło sygnału wejściowego wciskając MATH, następnie wybierając Source CH1 lub CH2. Rys. 6. Podłączenie oscyloskopu Rys. 7. Charakterystyka amplitudowo-fazowa przykładowego sygnału DTMF (klawisz #) przed filtracją str. 5

Rys. 8. Charakterystyka amplitudowo-fazowa przykładowego sygnału DTMF (klawisz #) po filtracji Rys. 9. Przebieg przykładowego sygnału DTMF (klawisz #); niebieski przed filtracją, czerwony po filtracji Odpowiedz na pytania Na czym polega sygnalizacja DTMF? Opisz wyświetlane na oscyloskopie wykresy FFT. Dokonaj w tabeli zestawienia plików wraz z określeniem odfiltrowanych składowych. Zademonstruj działanie programu z pkt. 3.6. i przekaż jego kod prowadzącemu zajęcia. 3.7. Po zakończeniu ćwiczenia z menu Project wybierz Save, a następnie Close. 3. Załączniki Kod programu main.c: #include "stdio.h" #include "evmdm6437.h" #include "evmdm6437_aic33.h" str. 6

/* ------------------------------------------------------------------------ * * * * main( ) * * * * ------------------------------------------------------------------------ */ Int16 R_in[128]; /* Input samples R_in[0] most recent, R_in[127] oldest */ short fir_filter (short input) Int32 i; Int16 output; Int32 acc=0; Int32 prod; R_in[0] = input; /* Update most recent sample */ acc = 0; /* Zero accumulator */ for (i=0; i<hl; i++) /* 128 taps */ prod = (h[i]*r_in[i]); /* Perform Q.15 multiplication */ acc = acc + prod; /* Update 32-bit accumulator, catering */ /* for temporary overflow. */ output = (Int16) (acc>>15); /* Cast output to 16-bits. */ for (i=hl-1; i>0; i--) /* Shift delay samples */ R_in[i]=R_in[i-1]; return output; void main( void ) Int16 msec, sec; Int16 sample; Int16 sample_data_l_in = 0; Int16 sample_data_r_in = 0; Int16 sample_data_l_out = 0; Int16 sample_data_r_out = 0; AIC33_CodecHandle aic33handle; /* Initialize BSL */ EVMDM6437_init( ); /* Grab AIC33 handle */ aic33handle = EVMDM6437_AIC33_openCodec( AIC33_MCBSP_ID, &aic33config ); /* Play Loop */ for ( sec = 0 ; sec < 100 ; sec++ ) /* * For each second there are 48000 left/right samples */ for ( msec = 0 ; msec < 10000 ; msec++ ) /* * For each millisecond there are 48 left/right samples */ for ( sample = 0 ; sample < 48 ; sample++ ) /* Read then write the left sample */ while (! EVMDM6437_AIC33_read16( aic33handle, &sample_data_l_in ) ); sample_data_l_out = sample_data_l_in; while (! EVMDM6437_AIC33_write16( aic33handle, sample_data_l_out ) ); /* Read then write the right sample */ while (! EVMDM6437_AIC33_read16( aic33handle, &sample_data_r_in ) ); sample_data_r_out = sample_data_r_in; while (! EVMDM6437_AIC33_write16( aic33handle, sample_data_r_out ) ); EVMDM6437_AIC33_closeCodec( aic33handle ); printf( "\n***end***\n" ); str. 7