Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Matlab - помощ със ASK Модулация

Featured Replies

Колеги имам за задача да обясня една ASK модулация,имам я написана и в Matlab,но има команди,кодове и параметри,които биха ме затруднили при обясняването на програмата.Мога да пратя снимки на ЛС или мога и в темата ако има кой да се отзове да помогне.Благодаря предварително.

Редактирано от Johny_Knoxvile (преглед на промените)

Колеги имам за задача да обясня една ASK модулация,имам я написана и в Matlab,но има команди,кодове и параметри,които биха ме затруднили при обясняването на програмата.Мога да пратя снимки на ЛС или мога и в темата ако има кой да се отзове да помогне.Благодаря предварително.

 

Публикувай снимки или самия код и който с каквото може, ще помогне.

  • Автор

Нещо само ми дава грешки през URL-тата да ги постна директно в темата и ги давам на линкчета

http://prikachi.com/images.php?images/372/7738372K.jpg      ---> снимка 1
http://prikachi.com/images.php?images/378/7738378x.jpg       --->снимка 2

Или поне някой да ми обясни ако може как да я напиша в матлаб без да ми дава грешки 

Редактирано от Johny_Knoxvile (преглед на промените)

Колеги имам за задача да обясня една ASK модулация,имам я написана и в Matlab,но има команди,кодове и параметри,които биха ме затруднили при обясняването на програмата.Мога да пратя снимки на ЛС или мога и в темата ако има кой да се отзове да помогне.Благодаря предварително.

 

Нещо само ми дава грешки през URL-тата да ги постна директно в темата и ги давам на линкчета

http://prikachi.com/images.php?images/372/7738372K.jpg      ---> снимка 1

http://prikachi.com/images.php?images/378/7738378x.jpg       --->снимка 2

 

 

1zqrbfa.jpg

33wr5vq.jpg

Модулация

Модулирани електрически сигнали

Как работи GSM мрежата?

Въведение в Matlab

 

Успех!

  • Автор

Oще при началото на 2рата снимка
M=fix(N/Nchip); 
ми дава грешка
Undefined function or variable 'Nchip'.
Какво ли не сменях и променях

Oще при началото на 2рата снимка

M=fix(N/Nchip); 

ми дава грешка

Undefined function or variable 'Nchip'.

Какво ли не сменях и променях

 

Undefined function or variable

Oще при началото на 2рата снимка

M=fix(N/Nchip); 

ми дава грешка

Undefined function or variable 'Nchip'.

Какво ли не сменях и променях

 

Променливата Nchip е параметър на функцията ask. Как и къде извикваш тази функция и с какъв параметър?

 

Ако си въвеждал кода от хартията в Matlab, го провери отново за грешки и бъди внимателен.

Редактирано от supervas (преглед на промените)

  • Автор

Счита се,че трябва да е написано вярно,но се съмнявам лошото е,че немога да открия грешката

Счита се,че трябва да е написано вярно,но се съмнявам лошото е,че немога да открия грешката

 

А как точно стартираш кода, който си написал?

 

За по-сигурно изтрий навсякъде, където се среща "Nchip" и отново го напиши, като използваш copy/paste.

 

  • Автор

На function ask или function ask(Nchip)
Error: Function definitions are not permitted in this context.

Изобщо не знам каква е логиката да ни дават да обясняваме написани програми като сме още с основите на програмирането :(

Редактирано от Johny_Knoxvile (преглед на промените)

На function ask или function ask(Nchip)

Error: Function definitions are not permitted in this context.

Изобщо не знам каква е логиката да ни дават да обясняваме написани програми като сме още с основите на програмирането :(

 

Качи някъде целия код, който имаш (.m файлове, не картинки), за да се разбере какво правиш и какви са грешките.

Редактирано от supervas (преглед на промените)

  • Автор
function ask (Nchip)
f0=20e6 ;
Tsig=10e-6 ;
fs=200e6 ;
close all
N=Tsig*fs ;
M=fix (N/Nchip) ;
N=M*Nchip ;
        t= (0 : N-1) /fs ;
        s=cos (2*pi*f0*t) ;
        for k=1 : Nchip
            code=randint ;
            for m=1 :M ;
                mm= (k-1) *M+m ;
                fd (mm) =code ;
            end
        end
        y=fd. *s ;
Nfft=2048 ;
df=fs/Nfft ;
for i=1 : Nfft
    f ( i ) = ( -Nfft/2+i-1) *df ;
end
    S=fft (s,Nfft) ;
    S=fftshift (S) ;
    Ps=S . *conj (S) /Nfft ;
    Ps=Ps/max (Ps) ;
                         F=fft (fd,Nfft) ;
                         F=fftshift (F) ;
                         Pf=F.*conj (F) /Nfft ;
                         Pf=Pf/max (Pf) ;
                                      y=fft (y,Nfft) ;
                                      y=fftshift (Y) ;
                                      Py=Y.*conj (Y) /Nfft ;
                                      Py=Py/max (Py) ;
                                      
                                      
fmin=min (f) / 2 ; fmax=max (f) / 2 ;
figure
subplot (3,2,1) , plot (t,s, 'b' )
title ( 'Carrier ')
axis ( [0 max ( t )  -1.5 1.5] )
          subplot (3,2,2) , plot (f,Ps, 'b' )
          title ( 'Carrier spectrum ' )
          axis ( [fmin fmax 0 1.5] )
                   subplot (3,2,3) , plot (t,fd,'r')
                   title ( ' Moduating signal ' )
                   axis ( [0 max (t)  0 1.5] )
                            subplot (3,2,4) , plot (f,Pf, 'r' )
                            title ( ' Modulating spectrum ' )
                            axis ( [fmin fmax 0 1.5] )
                                       subplot (3,2,5) , plot (t,y, 'k' )
                                       title ( 'Modulated signal ' )
                                       axis ( [0 max (t)  -1.5 1.5] )
                                       xlabel ( ' Time   ' )
                                                subplot (3,2,6) , plot (f, Py, 'k' )
                                                title ( 'Modulated spectrum ' )
                                                axis ( [fmin fmax 0 1.5] )
                                                xlabel ( 'Frequency [Hz] ')


Не става и тва е

Редактирано от Johny_Knoxvile (преглед на промените)

 

Не става и тва е

 

Пробвай следното:

 

Запиши долния код в текстов файл с име ask_mod.m

В Matlab средата отиваш в директорията, където си записал горния файл

Изпълняваш следната команда: ask_mod(100);

Ако видиш 6 хубави картинки, значи програмата работи. Остава да провериш дали смята правилно.

Ако не се покажат всичките 6 картинки, копираш изхода на командата от командния прозорец тук, за да се видят съобщенията за грешка.

 

Код на функцията ask_mod()

function ask_mod(Nchip)

close all
clear all
clc

f0 = 20e6;
Tsig = 10e-6;
fs = 200e6;

N = Tsig * fs;
M = fix(N / Nchip);
N = M * Nchip;

t = (0:N-1) / fs;
s = cos(2 * pi * f0 * t);

for k = 1:Nchip
	code = randint;
	for m = 1:M
		mm = (k-1) * M + m;
		fd(mm) = code;
	end
end

y = fd .* s;
Nfft = 2048;
df = fs / Nfft;

for i = 1:Nfft
	f(i) = (-Nfft/2 + i - 1) * df;
end

S = fft(s,Nfft);
S = fftshift(S);
Ps = S .* conj(S) / Nfft;
Ps = Ps / max(Ps);

F = fft(fd,Nfft);
F = fftshift(F);
Pf = F .* conj(F) / Nfft;
Pf = Pf / max(Pf);
y = fft(y,Nfft);
y = fftshift(Y);
Py = Y .* conj(Y) / Nfft;
Py = Py / max(Py);

fmin = min(f) / 2;
fmax = max(f) / 2;

figure
subplot(3,2,1), plot(t,s,'b' )
title('Carrier')
axis([0 max(t) -1.5 1.5])
xlabel('Time [s]')

subplot(3,2,2), plot(f,Ps,'b' )
title('Carrier spectrum')
axis([fmin fmax 0 1.5])
xlabel('Frequency [Hz]')

subplot(3,2,3), plot(t,fd,'r')
title('Moduating signal')
axis([0 max(t) 0 1.5])
xlabel('Time [s]')

subplot(3,2,4), plot(f,Pf,'r')
title('Modulating spectrum')
axis([fmin fmax 0 1.5])
xlabel('Frequency [Hz]')

subplot(3,2,5), plot(t,y,'k')
title('Modulated signal')
axis([0 max(t) -1.5 1.5])
xlabel('Time [s]')

subplot(3,2,6), plot(f,Py,'k')
title('Modulated spectrum')
axis([fmin fmax 0 1.5])
xlabel('Frequency [Hz]')

end

Редактирано от supervas (преглед на промените)

  • Автор

ask_mod(100);
Reference to a cleared variable Nchip.

Error in ask_mod (line 12)
M = fix(N / Nchip);
 

ask_mod(100);

Reference to a cleared variable Nchip.

Error in ask_mod (line 12)

M = fix(N / Nchip);

 

Грешката е ясна.

Махаш трите реда:

close all
clear all
clc

Тях може да изпълняваш преди да извикаш функцията.

Повтори горната процедура, за да видим как е програмата. Може би ще има още една грешка.

  • Автор

Error in ask_mod (line 41)
Y = fftshift(Y);


Впро4ем след 1 4ас трябва да по4на да обяснявам

 


Изкарах таблиците но стигнах до предишното беше че трябваше  да е малка буква

Warning: Imaginary parts of complex X and/or Y arguments ignored
> In ask_mod at 69
Error using plot
Vectors must be the same lengths.

Error in ask_mod (line 69)
subplot(3,2,5), plot(t,y,'k')


 

Error in ask_mod (line 41)

Y = fftshift(Y);

Впро4ем след 1 4ас трябва да по4на да обяснявам

 

Изкарах таблиците но стигнах до предишното беше че трябваше  да е малка буква

Warning: Imaginary parts of complex X and/or Y arguments ignored

> In ask_mod at 69

Error using plot

Vectors must be the same lengths.

Error in ask_mod (line 69)

subplot(3,2,5), plot(t,y,'k')

 

 

Успя ли да обясниш програмата?

  • Автор

Извинявам се за закъснението да справих се имам 6,успях да обясня доста голяма част написаната програма,но грешката с векторите дори и Проф. не можа да ми каже защо е,но все пак мерси много :)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.