0 / 0 / 0
Регистрация: 27.11.2016
Сообщений: 2
1

Амплитудный спектр сигналов Баркера

13.01.2017, 21:30. Показов 6098. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую! Необходимо построить амплитудный спектр сигналов Баркера.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear, clc 
n = 0.05*randn(1,500); % норманьный шум
s = zeros(size(n)); % заготовка сигнала (одни нули)
x = [+1 +1 +1 +1 +1 -1 -1 +1 +1 -1 +1 -1 +1]; % код Баркера 13
% x = [+1 +1 +1 -1 -1 -1 +1 -1 -1 +1 -1]; % код Баркера 11
s(200:200+length(x)-1) = x; % полезный сигнал внутри заготовки
S = s + n; % сигнал + шум
 
ff = fft(s, 1024);
mff = abs(ff);
Pdb = 10*log10(mff);
Pdb = fftshift(Pdb);
f = 0:(1/1023):0.5;
figure;
plot(f, Pdb(1:length(f)));xlim([0 0.5]); hold on;grid minor; 
title('БПФ');
Спектр кодовой последовательности - построил (выше).
Как говориться в Варакине, чтобы построить амплитудный спектр сигнала, надо амп. спектр кодовой последовательности (реализовано) умножить на спектр одиночного импульса. Собственно вопрос - подскажите, как сформировать спектр одиночного импульса и перемножить его на текущий спектр. Спасибо.

Должно получиться что-то такое (смотри рисунок)

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
clc; clear; close all;
%% Параметры
fs = 512; % частота дискретизации
L = 65536; % количество точек сигнала
t = (-L/2:L/2)/fs; % вектор времени
tau = 1;
 
% Прямоугольный импульс
Y = heaviside(t+tau/2)-heaviside(t-tau/2); % сигнал
nfft = 2^nextpow2(L); % размерность БПФ (количество точек спектра)
S1 = fft(Y, nfft)/fs; % расчет комплектсного спектра
f = fs/2*linspace(-1,1, nfft); % массив частот от -fs до fs
Mag1 = fftshift(abs(S1)); % модуль спектра (спектр амплитуд)
%% Рисуем графики
plot(f, Mag1); grid on; hold on;
xlabel('Frecuency, Hz'); ylabel('Spectral density, V/Hz')
xlim([-2*pi/tau 2*pi/tau])
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = 0.05*randn(1,500); % норманьный шум
s = zeros(size(n)); % заготовка сигнала (одни нули)
x = [+1 +1 +1 +1 +1 -1 -1 +1 +1 -1 +1 -1 +1]; % код Баркера 13
% x = [+1 +1 +1 -1 -1 -1 +1 -1 -1 +1 -1]; % код Баркера 11
s(200:200+length(x)-1) = x; % полезный сигнал внутри заготовки
T = s + n; % сигнал + шум
 
nfft = 2^nextpow2(L); % размерность БПФ (количество точек спектра)
S2 = fft(s, nfft)/fs; % расчет комплектсного спектра
f = fs/2*linspace(-1,1, nfft); % массив частот от -fs до fs
Mag2 = fftshift(abs(S2)); % модуль спектра (спектр амплитуд)
figure;
plot(f, Mag2); grid on; hold on;
xlabel('Frecuency, Hz'); ylabel('Spectral density, V/Hz');
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure;
plot(Mag1*Mag2);

Построил отдельно спектр прямоугольного импульса и спектр кодовой последовательности. Попытался перемножить, логично что получилось Inner matrix dimensions must agree. Подскажите где ошибаюсь?
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2017, 21:30
Ответы с готовыми решениями:

Амплитудный спектр
Привет. опять та же функция с которой я раннее обращалась. s = 2*cos(200*t) .*( abs(t)<=2 ); ...

Амплитудный спектр BPSK
Проблема такая, никак не выходит добиться симметрии в амплитудно спектре, притом, если ставлю...

Амплитудный спектр полигармонического сигнала
Доброго времени суток. Дали нам вводную лабу в универе, с шаблоном выполнения. В этой части надо...

Амплитудный спектр сигнала (Matlab)
Здравствуйте. Подскажите, пожалуйста, какие есть способы вычисления амплитудного спектра...

0
13.01.2017, 21:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2017, 21:30
Помогаю со студенческими работами здесь

Формирование пачки радиоимпульсов и его амплитудный спектр
Можете помочь с программой. Задание такое нужно сформировать пачку радиоимпульсов и построить его...

Что это, АЧХ или амплитудный спектр
Corpion67, отнимите от сигнала среднее значение (0-ая cos-ная гармоника -- это постоянная...

Сигнал преобразовать в ряд Фурье и нарисовать амплитудный спектр
Доброго времени суток всем! у меня есть сигнал, который нужно преобразовать в ряд Фурье и...

Амплитудный и фазовый спектры
Здравствуйте. Требуется написать функцию, которая используется для построения амплитудной и фазовой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru