Realizacja kodeka LD-CELP w strukturze FPGA w oparciu o
Transkrypt
Realizacja kodeka LD-CELP w strukturze FPGA w oparciu o
Realizacja kodeka LD-CELP w strukturze FPGA w oparciu o standard ITU-T G.728 Praca dyplomowa magisterska Michał Okularczyk Warszawa, 2007 Motywacja Technika VoIP Projekt bramki VoIP w FPGA (Xilinx) Kodery mowy – software oraz DSP P. Kłoszewski „Real time implementation of the ITU-T G.723.1 encoder-decoder based on the TMS320C6711 Digital Signal Processor” „Realizacja kodeka LD-CELP w strukturze FPGA w oparciu o standard ITU-T G.728” 2 Plan prezentacji Kodowanie mowy Kodek LD-CELP Realizacja w FPGA Wybór kodeka Koder Dekoder Pseudokod DSP Projekt i optymalizacja Zestaw testowy Otrzymane wyniki Problemy podczas realizacji Podsumowanie 3 Kodowanie mowy Podział kodeków mowy na: PCM - Pulse Code Modulation DPCM - Differential PCM ADPCM - Adaptive DPCM Wokodery CELP – Code Excited Linear Prediction 4 Kodek LD-CELP Wybór kodeka LD-CELP – Low Delay CELP Małe opóźnienie algorytmiczne (0.625 ms) Specyfikacja zmiennoprzecinkowa z 1992 roku, stałoprzecinkowa z 1994 roku Brak predykcji długookresowej KsiąŜka kodowa zawierająca 1024 wektory kodowe Przesyłany tylko jeden parametr Parametry filtru syntezy odtwarzane w dekoderze na podstawie poprzednich próbek Nominalna przepływność 16 kbit/s 5 Kodek LD-CELP Koder 6 Kodek LD-CELP Dekoder 7 Realizacja w FPGA Pseudokod DSP Zawarty w specyfikacji stałoprzecinkowej ITU-T Opis działania poszczególnych bloków kodera oraz dekodera Pseudokod DSP składa się z: Opis podstawowych parametrów Opis zmiennych wewnętrznych wraz ze stanami początkowymi Opis algorytmów poszczególnych bloków Konwersja do języka Verilog 8 Realizacja w FPGA Projekt i optymalizacja Płytka deweloperska DSP-DEVKIT-2S60N z układem Stratix II EP2S60F1020C4 firmy Altera Altera Quartus II Zmiana algorytmiczna w adapterze wzmocnienia Łączenie modułów wykorzystujących wspólne zasoby pamięciowe Optymalizacja dzięki lepszemu wykorzystaniu pamięci RAM 9 Realizacja w FPGA Zestaw testowy 10 Realizacja w FPGA Otrzymane wyniki Moduł podstawowy Moduł testowy Koder Dekoder Koder Dekoder ALUT 30 058 (62%) 18 596 (38%) 30 282 (63%) 18 888 (39%) Rejestry 21 144 (44%) 13 307 (28%) 21 207 (44%) 13 342 (28%) RAM 97 488 bitów (4%) 45 088 bitów (2%) 135 376 bitów (5%) 115 744 bitów (5%) Bloki DSP 94 (33%) 42 (19%) 94 (33%) 42 (19%) fmax 62,58 MHz 67,39 MHz 66,24 MHz 68,31 MHz tmin 15,979 ns 14,838 ns 15,096 ns 14,639 ns 11 Problemy podczas realizacji Poziom skomplikowania oraz wielkość urządzeń Błędy kompilatora Quartus II w syntezie języka Verilog Długi czas symulacji urządzenia na komputerze klasy PC 12 Podsumowanie MoŜliwość tworzenia urządzeń przetwarzających sygnał mowy w FPGA Pseudokod DSP cennym źródłem informacji umoŜliwiającym poprawną realizację urządzeń Nie akceptowalnie długi czas symulacji urządzeń na komputerze typu PC Konieczność dodatkowych testów w celu zagwarantowania poprawności działania urządzenia w czasie rzeczywistym MoŜliwość rozbudowy projektu 13 Realizacja kodeka LD-CELP w strukturze FPGA w oparciu o standard ITU-T G.728 Praca dyplomowa magisterska Michał Okularczyk Warszawa, 2007