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 34036998
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Odwracanie macierzy, pomocy  (20 Styczenia 2017, Pią 9:20 pm)
[Matlab] odwracanie macierzy  (20 Styczenia 2017, Pią 9:17 pm)
Zamiana zmiennych globalnych na zmienne lokalne  (20 Styczenia 2017, Pią 4:57 pm)
[Scilab] interpolacja wielomianem Hermite'a  (19 Styczenia 2017, Czw 8:24 pm)
Metoda Gaussa-Jordana  (19 Styczenia 2017, Czw 7:20 pm)
Obliczenia za pomocą punktu KKT/Mnożnik Lagrange'a  (19 Styczenia 2017, Czw 6:54 pm)
Prąd kondensatora pobierany i oddawany do sieci trójfazowej  (19 Styczenia 2017, Czw 3:14 pm)
2 Zadania, proszę o pomoc..  (19 Styczenia 2017, Czw 2:59 pm)
Monotoniczność funkcji i przedziały wypukłości/wklęsłości  (19 Styczenia 2017, Czw 1:11 am)
Wymagania tworzonej aplikacji  (18 Styczenia 2017, Sro 5:24 pm)
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