WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Fifo, warum klappt das so nicht?

 

upt0zer0
Forum-Century

Forum-Century


Beiträge: 107
Anmeldedatum: 10.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 12:09     Titel: Fifo, warum klappt das so nicht?
  Antworten mit Zitat      
Code:
function [bpsk, qpsk, qam16]= Fifo(daten_ext)
% Steuervektor für 4 Kanäle    
steuer = [2 4 3 4]; %4 Kanäle

%Mit 2=BPSK, 3=QPSK, 4=16-QAM, ... (jederzeit beliebig erweiterbar)

bpsk = size(1,1);
qpsk = size(1,2);
qam16 = size(1,4);

% Verarbeitung
% Es wird immer das erste Element aus dem Vektor "steuer" ausgelesen und
% die entsprechende Modulationsmethode verwendet. Danach wird der Inhalt
% des Vektors um eins nach links (=-1) verschoben.

for n=1:1:length(daten_ext)
    temp = steuer(1);
    steuer = circshift(steuer,[1 -1]);
       
    if (temp == 2)      %BPSK
            bpsk = daten_ext(1)
            daten_ext = circshift(daten_ext,[1 -1]);
    elseif (temp == 3)  %QPSK
            qpsk = [daten_ext(1), daten_ext(2)]
            daten_ext = circshift(daten_ext,[1 -2]);
    elseif (temp == 4)  %16-QAM
            qam16 = [daten_ext(1), daten_ext(2), daten_ext(3), daten_ext(4)]
            daten_ext = circshift(daten_ext,[1 -4]);
    end;

end;


Ich bekomme über daten_ext einen Bitstrom rein, der entsprechend verarbeitet werden soll. Wenn eben der Steuervektor eine 3 angibt, soll der Output "qpsk" einen Vektor mit 2 Elementen ausgeben. Beim Rest eben BPSK = 1 Element, QAM16 = 4 Elemente.

Als Fehler kommt

"Data 'qpsk' (#5Cool is inferred as a variable size matrix, while its
specified type is something else. "

Womit ich nix anfangen kann. Wo ist der Fehler, weiß genau das es irgendwas total triviales sein muss.... nur dahinter kommen tu ich nicht!
Private Nachricht senden Benutzer-Profile anzeigen


upt0zer0
Themenstarter

Forum-Century

Forum-Century


Beiträge: 107
Anmeldedatum: 10.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 16:21     Titel:
  Antworten mit Zitat      
Niemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 08.08.2012, 16:50     Titel:
  Antworten mit Zitat      
Ehrlich gesagt verstehe ich immer noch nicht, was genau erreicht werden soll.

Zitat:

Ich bekomme über daten_ext einen Bitstrom rein, der entsprechend verarbeitet werden soll. Wenn eben der Steuervektor eine 3 angibt, soll der Output "qpsk" einen Vektor mit 2 Elementen ausgeben. Beim Rest eben BPSK = 1 Element, QAM16 = 4 Elemente.


Kannst du hierfür mal bitte ein konkretes Zahlenbeispiel liefern?


Wenn ich deine Funktion so aufrufe, erhalte ich jedenfalls keinen Fehler.

[bpsk, qpsk, qam16]= Fifo([0 1 0 0 1 1 0 0 0 1 1 1 0]);
So wie ich deine Funktion verstehe, stimmt auch der Output. Aber entweder ist mein Input falsch, oder ich verstehe die Funktionsweise nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.