Zaloguj się
Blog na Matlab.pl
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Modulacja i generowanie szumu
Forum MATLAB Strona Główna-> Telekomunikacja
Post Wysłany: 7 Grudnia 2009, Pon 5:59 pm Temat postu: Modulacja i generowanie szumu Odpowiedz z cytatem
 
AUTOR:
ViP3R



Dołączył: 07 Gru 2009
Posty: 1


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam.
Proszę o pomoc w napisaniu a dokładnie zmodyfikowaniu następującego kodu:

Kod:
clear all;
close all;
fs=8000;
fc=100;
fd=25;

N=8;
x=randint(300,1,N);
y=dmod(x,fc,fd,fs,'psk',N);
SZUM=[-100:10]/10;
for
numer_SZUM=1:length(SZUM);
    
A=SZUM(numer_SZUM);
    
yszum=awgn(y,A);
    
yszum_zdem=ddemod(yszum,fc,fd,fs,'psk',N);
    [
w1 w2]=biterr(x,yszum_zdem);
    
hold on
    plot
(A,w2,'o');
end


Kod powyżej działa prawidłowo i wyświetla wykres w2 (stosunek bitów dobrych do złych) w funkcji odstępu sygnał/szum którego poszczególne wartości pobierane są z wektora SZUM a następnie kolejno podstawiane do zmiennej A
Problem w tym, że funkcja awgn wprowadza szum do sygnału y w dość losowy sposób.
Pomyślałem, że w głównej pętli for stworzę kolejną, która dla każdej wartości A policzy przykładowo 20 razy yszum a następnie uśredni otrzymane wyniki i dopiero podstawi średnią do następnej zmiennej. Coś ala:

Kod:
clear all;
close all;
fs=8000;
fc=100;
fd=25;

N=8;
x=randint(300,1,N);
y=dmod(x,fc,fd,fs,'psk',N);
SZUM=[-100:10]/10;
for
numer_SZUM=1:length(SZUM);
    
A=SZUM(numer_SZUM);
%----------------------------------------------------------   
    
zmienna=[1:20];
        for
            
numer_zmienna=1:length(zmienna);
            
yszum=awgn(y,A);
        
end
    yszum_srednia
= %coś co policzy średnią z 20-stu wartosci yszum dla danego A
%----------------------------------------------------------   
    
yszum_zdem=ddemod(yszum_srednia,fc,fd,fs,'psk',N);
    [
w1 w2]=biterr(x,yszum_zdem);
    
hold on
    plot
(A,w2,'o');
end


Niestety zmienna yszum jest wektorem (chyba) z ogromną ilością danych.
Kilkakrotnie ręcznie wpisałem yszum=awgn(y,A); dla tej samej wartości A w matlabie. Następnie zapisałem wynik komendą save('temp3.txt', 'yszum', '-ascii'). Po każdorazowym zapisaniu do pliku otrzymuję 96000 różnych wartości. Jeśli mam yszum traktować jako wektor to po wykonaniu wewnętrznej pętli 20 razy otrzymuje 20 wektorów 69000-elementowych. Trzeba więc chyba zsumować pierwsze elementy z każdego wektora i policzyć średnią, następnie drugie 20 elementów, trzecie i tak 96000 razy. Tak otrzymane średnie zapisać do wektora yszum_srednia i w ten sposób wygenerować wektor średnich wartości i podstawiać dalej.

Tak ja to widzę (mam nadzieję, że zbytnio nie zamieszałem).


 

Post Wysłany: 27 Lipca 2015, Pon 10:12 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
janedakdoy



Dołączył: 27 Lip 2015
Posty: 2


Ogląda profil użytkownika Wyślij prywatną wiadomość
I'm reading this story, it made me very interested me. It is good that we were able to put it to use in everyday life.


 

Forum MATLAB Strona Główna-> Telekomunikacja
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 36029122
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Zapis obrazu z scope  (23 Maj 2017, Wto 7:05 pm)
Brak funkcji tr3d  (23 Maj 2017, Wto 4:11 pm)
FFT Problem  (23 Maj 2017, Wto 1:12 pm)
Nienawidzę swojej pracy  (23 Maj 2017, Wto 9:52 am)
Modelowanie układu.  (21 Maj 2017, Nie 8:40 pm)
Małe poprawki  (21 Maj 2017, Nie 8:33 pm)
Matlab, a praca?  (21 Maj 2017, Nie 7:56 am)
NADZWYCZAJ nietypowy problem  (21 Maj 2017, Nie 2:14 am)
WYKRESY  (18 Maj 2017, Czw 4:26 pm)
Rysowanie wykresów  (18 Maj 2017, Czw 9:06 am)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum