Я работаю над проектом и хочу построить / отобразить в частотном диапазоне, импульсы которого определяются начальной и конечной частотой.
Пояснения: У меня есть X групп, и каждая группа содержит Y сетей.
У моей группы есть начало и конец. В каждой сети есть полоса.
У меня 2 группы. Первая группа содержит 4 сети, а вторая 9 сетей. Моя группа начинается с 30 МГц и заканчивается на 88 МГц.
Для первой группы каждая сеть имеет полосу W МГц, а для второй группы каждая сеть имеет полосу Z МГц. Мне нужно представление, где есть импульс, когда есть полоса.
Я должен разделить по 30 кГц каждую сеть и разделить группы на 7% ((quencyStopPreviousGroup * 0,07) +quencyStopPreviousGroup).
Когда есть разделение, я не хочу пульс.
Каждая сеть находится в «группе» ячейки, а ячейки группы - в глобальной ячейке.
Моя проблема: Я не знаю, с чего начать и какую функцию я могу использовать для создания представления по частям моей проблемы?
Я знаю, что мой код ниже не оптимизирован, но работает так, как я хочу.
D_format = 11389527,26654; % 11,389 MHz by example
% We divide D by the number of networks of each group to know what band have a network.
% Global cell which contains each cellOfRange
global_cellOfRange = cell(1, max(group));
% For each group
for current_group = 1 : max(group)
% We divide D by the number of networks in the current group
networkXRange = D_format / size_of_group(current_group);
networkXRange_format = networkXRange
% Cell with the start and stop of each network
cellOfRange = cell(4, size_of_group(current_group));
% If it is the first group
if current_group == 1
% For each network
% size_of_group(current_group) = the number of network in the current group
for numberOfNetwork = 1 : size_of_group(current_group)
% If it is the first network
if numberOfNetwork == 1
frequencyStartNetwork = 30000000; % 30 MHz
frequencyStopNetwork = frequencyStart_1 + networkXRange_format;
end
% If it is an other network
if numberOfNetwork > 1
% Margin
frequencyStart_1xMargin = 30000; % 30 KHz
% We add the margin for the next network
frequencyStartNetwork = frequencyStopNetwork + frequencyStart_1xMargin;
frequencyStopNetwork = frequencyStartNetwork + networkXRange_format;
end
% We print in a matrix the range for each network in the current group
cellOfRange{1,numberOfNetwork} = ['Network' int2str(numberOfNetwork)];
cellOfRange{2,numberOfNetwork} = ' ';
cellOfRange{3,numberOfNetwork} = 'Frequency Start (Hz)';
cellOfRange{4,numberOfNetwork} = double(frequencyStartNetwork);
cellOfRange{5,numberOfNetwork} = ' ';
cellOfRange{6,numberOfNetwork} = 'Frequency Stop (Hz)';
cellOfRange{7,numberOfNetwork} = double(frequencyStopNetwork);
% Start frequency of the first network of the next group
frequencyStartNextGroup = frequencyStopNetwork + (frequencyStopNetwork * 0.07); % 0.07 = 7 %
end
% If we aren't at the first group
else
% For each network
% size_of_group(current_group) = the number of network in the current group
for numberOfNetwork = 1 : size_of_group(current_group)
% If it is the first network
if numberOfNetwork == 1
frequencyStartNetwork = frequencyStartNextGroup;
frequencyStopNetwork = frequencyStartNetwork + networkXRange_format;
end
% If it is not the first network of the group
if numberOfNetwork > 1
frequencyStart_1xMargin = 30000; % 30 KHz
% We add the margin for the next network
frequencyStartNetwork = frequencyStopNetwork + frequencyStart_1xMargin;
frequencyStopNetwork = frequencyStartNetwork + networkXRange_format;
end
% We print in a matrix the range for each network in the current group
cellOfRange{1,numberOfNetwork} = ['Network' int2str(numberOfNetwork)];
cellOfRange{2,numberOfNetwork} = ' ';
cellOfRange{3,numberOfNetwork} = 'Frequency Start (Hz)';
cellOfRange{4,numberOfNetwork} = double(frequencyStartNetwork);
cellOfRange{5,numberOfNetwork} = ' ';
cellOfRange{6,numberOfNetwork} = 'Frequency Stop (Hz)';
cellOfRange{7,numberOfNetwork} = double(frequencyStopNetwork);
end
end
% current_group % DEBUG
% We store cells in a global cell
global_cellOfRange{1,current_group} = cellOfRange;
% If it is not the last group
if current_group < max(group)
% Start frequency of the first network of the next group
frequencyStartNextGroup = frequencyStopNetwork + (frequencyStopNetwork * 0.07);
end
%disp(['global_cellOfRange = ' global_cellOfRange]);%DEBUG
end
Я думаю, что это хорошая база, но я потерян для этой части.
Спасибо за потраченное время на мою проблему!
Каан