eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaMnożenie liczb w kodzie U2 › Re: Mnożenie liczb w kodzie U2
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.r
    u!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrad
    a.pl!news.neostrada.pl.POSTED!not-for-mail
    From: "J.F." <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    References: <e...@g...com>
    In-Reply-To: <e...@g...com>
    Subject: Re: Mnożenie liczb w kodzie U2
    Date: Wed, 25 Mar 2015 15:49:08 +0100
    MIME-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Priority: 3
    X-MSMail-Priority: Normal
    Importance: Normal
    X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
    X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
    Lines: 37
    Message-ID: <5512cae7$0$8375$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.22.171.153
    X-Trace: 1427294951 unt-rea-b-01.news.neostrada.pl 8375 83.22.171.153:63142
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:679662
    [ ukryj nagłówki ]

    Użytkownik napisał w wiadomości
    >Robię demodulator AM na FPGA i mam pewien dylemat przy miksowaniu.
    >Mam dwie 12-to bitowe liczby ze znakiem (U2). Pakuję to do
    >multiplikatora i na wyjściu generuje mi 24-bitowy iloczyn C=A*B.
    >Problem jest w tym, że jedna z tych liczb, powiedzmy B=sin(omega*t)
    >jest reprezentowana >jako liczba 12-bitowa z zakresu
    ><-2048,+2047>.Tymczasem wiadomo, że sinus jako funkcja przyjmuje
    >wartości <-1,+1>.

    I tu mamy pewien problem z liczba +1, ktora niewatpliwie wystepuje.

    >Na wyjściu tego miksera potrzebuję jednak tylko 12 bitów najbardziej
    >znaczących. Które bity teraz z >tych 24 wybrać? Gdyby to było w
    >naturalnym kodzie binarnym, nie było by sprawy. A w U2, to mi się już
    >samemu we łbie >miksuje :))

    Jesli sygnal tez ma zakres +/-2047, to uzyteczny wynik masz na bitach
    22:11 (z 23:0)
    11 uzytecznych bitow jednej liczby plus 11 uzytecznych bitow z drugiej
    liczby daje nam 22 bity wyniku mnozenia (21:0).

    Ale znak tez jest uzyteczny i trzeba go w wyniku zawrzec.
    A on sie w U2 duplikuje na dwoch najstarszych bitach.
    Tylko trzeba przemyslec co z tym +/-1, czy jak kto woli 2048.

    A w ogole to w FPGA mozesz sobie jakis ciekawszy multiplikator
    zrobic - np taki co policzy wynik 12 bit i to beda od razu najstarsze
    bity.
    Albo w ogole znaki osobno policzy...

    J.






Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: