logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Projekt na TMS320C6711:symulator toru nadawczo-odbiorczego

solita 01 Paź 2007 16:53 1613 3
  • #1 4338441
    solita
    Poziom 2  

    Witam.
    Jestem w trakcie realizacji projektu:symulacji toru nadawczo-odbiorczego telefonii komórkowej z dodatkowym modułem szyfrującym. Projekt ten ma zostać zrealizowany na zestawie startowym z procesorem TMS320C6711, niestety nigdy wcześniej nie miałam do czynienia z programowaniem DSP. Sam symulator jest w większości napisany (biblioteki C/C++), pozostaje tylko realizacja na procesorze. Nie jestem w stanie rozwiązać następujących kwestii i problemów:

    -sygnał ma być pobierany z wejścia mikrofonowego i po przetworzeniu wysłany na wyjście analogowe, na głośniki, z opóźnieniem nie większym niż 300 ms i bez przerw między kolejnymi ramkami mowy (tak jak w telefonie);
    -przetwarzana ramka sygnału mowy musi mieć dokładnie 180 próbek;
    -czas ramki wynosi 22,5 ms, zaś łączny czas pracy algorytmów jest znacznie dłuższy, co utrudnia stosowanie przerwań.

    Jak w ogóle się za to zabrać? Jakie biblioteki/pliki konfiguracyjne trzeba dołączyć żeby ten zestaw w ogóle działał?Jak pobierać próbki z wejścia mikrofonowego i wysyłać na wyjście audio? Jak poradzić sobie z długim czasem przetwarzania? Z góry dziękuję za jakiekolwiek odpowiedzi na te pytania oraz inne cenne uwagi.
  • #2 4369255
    fenixxxxx
    Poziom 13  
    czesc
    nie napisales co to za zestaw, zgaduje wiec ze kodek audio zapewne wisi na jednym z portow szeregowych McBSP, zajzyj w dokumentacje zestawu napewno jest tam cos napisane o tym! na stronie texasa sa noty aplikacyjne wraz z kodem jak komunikowac sie z kodekami.
    Dziwne wydaje mi sie ze nie starcza zasobow tego procesora do zastosowan telefoni komorkowej. Jest to seria C6000 czyli bardzo wydajna. W telefonach noki siedzialy niegdys procki z seri C54xx a jak hulaly! Jak testowales te algorytmy? na emulatorze?
  • #3 4370399
    solita
    Poziom 2  
    Co do komunikacji z kodekiem, próbowałam użyć troszke zmodyfikowanego programu audio, który jest dołączony jako przykład do CodeComposera. Już w trakcie kompilacji wyskoczyły jakieś dziwne błędy. Dokładniej mówiąc: w momencie linkowania kompilator zgłosił brak wcześniejszej deklaracji 4 funkcji, które to funkcje jednak znajdowały się w bibliotekach-po prostu jakimś cudem nie zostały "zauważone". Kiedy zaś zdefiniowałam nazwy tych funkcji w preprocesorze, program się zbudował, ale nie działał. Wyczerpały mi się pomysły na przyczynę tego błędu.
    Mimo wszystko będę wdzięczna za podanie mi linka do wspomnianych not aplikacyjnych-może znajdę coś przydatnego.
    Jeśli chodzi o czas przetwarzania: w trakcie jednego przerwania procesor musi wykonać następujące funkcje:
    -kodowanie głosu algorytmem MELP;
    -szyfrowanie (AES z kluczem 256 bitowym)
    -kodowanie blokowe CRC
    -kodowanie splotowe (2,1,5) jak w systemie GSM
    -przeplot bitowy
    -symulacja modulacji i kanału (to się zrobi za pomocą przyblizonej funkcji błędu)
    -rozplot
    -dekodowanie splotowe i blokowe, w razie błędów odrzucanie ramek
    -deszyfrowanie i dekodowanie głosu
    Wprawdzie procesor jest wydajny, ale już sam MELP jest stosunkowo zasobochłonny. Wszystkie algorytmy testowalam na razie jedynie w kompilatorach typu DevC++
  • #4 4370485
    fenixxxxx
    Poziom 13  
    zaczol bym od przejezenia notek-moze bedzie jakis przyklad. dodatkowo user guidy sa bardzo przydatne, zabawa z dsp to nie java, nie zalatwi sie wszystkiego gotowymi funkcjami. Czasami trzeba cos napisac dostosowane do hardwaru.
    http://focus.ti.com/dsp/docs/dspsupporttechdo...=1&familyId=44&documentCategoryId=1&Input3=Go

    Wydaje mi sie ze ten procek bez problemu to ucieagnie. Jesli nie to powinnas sie zastanowic nad przepisaniem kluczowych czesci kodu na assembler. Slyszalem ze z optymalizacja C roznie bywa w CCS.

    Z CCS trzeba nauczyc sie pracowac, czasami naprawde niezle swiruje. Ja bawilem sie z CCS dla prockow rodziny C5000 i tez czasami schodzilo mi pol tygodnia zanim wykumalem co jest zle.
REKLAMA