Bit error rate utilizzando la funzione biterr

di il
12 risposte

Bit error rate utilizzando la funzione biterr

Salve ragazzi, ho due matrici X e Y e voglio calcolare il BER, ovvero il bit error rate. Per farlo utilizzo la funzione biterr. Il codice è il seguente:
number=[];
ratio[];
[number,ratio]=biterr(X,Y)
il problema che ho è che number e ratio sono due numeri, a me invece serve una funziona, per poi disegnare l grafico dell'andamento di questo bit error rate..
In che cosa sbaglio?!?!

12 Risposte

  • Re: Bit error rate utilizzando la funzione biterr

    Dipende da cosa sono X e Y... come sono fatte?
  • Re: Bit error rate utilizzando la funzione biterr

    Sono due matrici.. Dovrei calcolare il bit error rate per ogni elemento, ma non riesco a capire come fare.. uffi
  • Re: Bit error rate utilizzando la funzione biterr

    Forse dovrei fare due for innestati e salvare il risultato della funzione biterr in un vettore giusto?!
  • Re: Bit error rate utilizzando la funzione biterr

    Scusa ma...
    tu hai due matrici X e Y fatte di 0 e 1.
    Vorresti in uscita una matrice che quando gli elementi sono diversi dia 1 e se sono uguali dia 0?
  • Re: Bit error rate utilizzando la funzione biterr

    La funzione biterr serve per calcolare gli errori di bit ed il bit error rate fra due matrici. Ha questa sintassi:
    [NUMBER,RATIO] = biterr(X,Y)
    in cui X e Y possono essere due matrici, o una matrice ed un vettore.
    A me servirebbe un grafico in cui si vede come si evolve questo bit error rate nel tempo. Purtroppo però l'uscita della funzione mi da soltanto 1 ratio, per cui non si può fare un grafico su un solo numero. Come posso fare per renderlo una funzione continua in modo da poterla poi proiettare su un grafico?!
  • Re: Bit error rate utilizzando la funzione biterr

    Lo so qual'è la sintassi... rispondi alla mia domanda... (magari c'è un'altra funzione diversa che fa proprio quello che chiedi tu..?)
    Vuoi che ti calcoli il biterror elemento per elemento, quindi, cosa ti aspetteresti in uscita dalla funzione biterr per le due matrici X e Y?
  • Re: Bit error rate utilizzando la funzione biterr

    Poiché si tratta di un sistema di trasmissione e ricezione ho la matrice X che è quella in trasmissione e Y che è quella in ricezione, a me serve sapere quanti bit perdo volta per volta, e ad ogni passo che avanzo di quanto aumento o diminuisco.
    ti faccio un esempio se io invio X[i,j]=1000, e ricevo Y[i,j]=800, voglio sapere che ho perso 200 bit. Inoltre mi serve un valore numerico che mi indichi il rapporto di quanto perdo in percentuale.. Questo è in sintesi quello che devo fare.
  • Re: Bit error rate utilizzando la funzione biterr

    Scusa, mi sa che c'è un po' di confusione. Se quelli sono realmente i numeri che usi e 200 è il numero che ti aspetti, ti basta una sottrazione, biterr non c'entra niente.
    Infatti, se provi a fare biterr(1000,800) non viene proprio 200.
    Tra l'altro mi sembra di capire che la matrice va avanti per colonne, che "ad ogni passo che avanzi" si aggiunge una colonna, e che quindi vuoi sapere il biterror colonna per colonna, in modo da avere in uscita un vettore in cui ciascun numero rappresenta il biterror per una determinata colonna?
  • Re: Bit error rate utilizzando la funzione biterr

    No, non mi serve per colonna, elemento per elemento della matrice.. il ber lo calcolo cosi= (num errori)/num totale di bit emessi

    quindi tu dici che per il calcolo de ber non devo verificare la quantità dell'errore, cioè ogni volta di quanto sbaglio, ma solo il mumero degli errori in se?!
    Mi sa che hai ragione... sto confondendo..
    E alla luce di questo, tu dici che posso utilizzare la funzione biterr, oppure mi conviene implementare la funzione io stessa?!
  • Re: Bit error rate utilizzando la funzione biterr

    Non so di preciso quello che devi fare, quindi cerca di capire bene cosa ti serve realmente.
    La funzione biterr ti calcola la differenza tra due numeri in termini di numero di bit.
    Nel tuo caso se X(i,j)=1000 e Y(i,j)=800 lui converte i numeri in binario:
    1000 in binario è 1111101000
    800 in binario è 1100100000
    e poi "conta" il numero di bit diversi. In questo caso 3 (il terzo, il quarto e il settimo - partendo da sinistra).
    Devi intanto capire se è questo quello che ti serve, perché se al posto del 3 ti aspetti 200, allora biterr non è la funzione che ti serve.
  • Re: Bit error rate utilizzando la funzione biterr

    Ah ecco, grazie mille per avermelo spiegato in modo chiaro e preciso, sei stato veramente esauriente. Infatti si è proprio questa la funzione che mi serve in quanto il ber del segnale lo calcolo come: (biterratti)/bit trasmessi
    e con questa funzione riesco a contare i bit errati volta per volta.
    Grazie ancora
  • Re: Bit error rate utilizzando la funzione biterr

    Figurati!
Devi accedere o registrarti per scrivere nel forum
12 risposte