|
Многоуровневый декодер, декодер Витерби |
|
|
|
Feb 13 2013, 05:30
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Написал программу многоуровневого кодера декодера, построил графики для жестких мягких решений и вот что получил Вот код: CODE clear all; close all; clc
%% Input parametrs robustens_mode = 2; % Режим помехоустойчивости 1; 2; 3; 4; spectrum_mode = 5; % Размещение спектра 4.5кГц - 0; 5кГц - 1; 9кГц - 2; 10кГц - 3; 18кГц - 4; 20кГц - 5;
level_protection = 0; % Уровень защиты для QAM16 - 0; QAM4 - 1;
QAM_Pmax = 2; % 4-QAM Pmax = 1; 16-QAM Pmax = 2;
%% Initialization parametrs
% Колличество ячеек N_mux_list = [167, 190, 359, 405, 754, 846; ... 130, 150, 282, 322, 588, 662; ... NaN, NaN, NaN, 288, NaN, 607; ... NaN, NaN, NaN, 152, NaN, 332];
% Кодовые скорости канала Rate = cell(2,2,1); Rate{1,1} = [1 3]; Rate{1,2} = [2 3]; Rate{2,1} = [1 2]; Rate{2,2} = [NaN];
% Схема выкалывания канала puncpat = cell(2,2,1); puncpat{1,1} = [1 1 1 0 0 0]; puncpat{1,2} = [1 1 0 0 0 0 1 0 0 0 0 0]; puncpat{2,1} = [1 1 0 0 0 0]; puncpat{2,2} = [NaN];
% Перфорирование остаточных 36 бит puncpat_Rp = cell(12,1); puncpat_Rp{1,1} = [1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0]; puncpat_Rp{2,1} = [1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0]; puncpat_Rp{3,1} = [1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0]; puncpat_Rp{4,1} = [1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0]; puncpat_Rp{5,1} = [1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0]; puncpat_Rp{6,1} = [1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0]; puncpat_Rp{7,1} = [1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0]; puncpat_Rp{8,1} = [1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0]; puncpat_Rp{9,1} = [1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0]; puncpat_Rp{10,1} = [1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0]; puncpat_Rp{11,1} = [1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0]; puncpat_Rp{12,1} = [1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0];
Rp = zeros(1,QAM_Pmax); for k = 1:QAM_Pmax Rp(k) = (2*N_mux_list(robustens_mode,spectrum_mode+1)-12) - Rate{level_protection+1,k}(2)... *floor((2*N_mux_list(robustens_mode,spectrum_mode+1) - 12)./Rate{level_protection+1,k}(2)) + 1; end
% Кодовая скорость материнского кода mother_code = 1/6;
% Задание таблицы переходов trellis = poly2trellis(7,[133, 171, 145, 133,171,145]);
Mbase = [2 4]; M=2.^Mbase(QAM_Pmax);
a = [1/sqrt(2), 1/sqrt(10)]; % Коэффициент нормализации QAM
% Модуляция QAM16 и QAM4 if QAM_Pmax == 1 SMQAM = [1+1*i, -1+1*i, -1-1*i, 1-1*i].*a(QAM_Pmax); elseif QAM_Pmax == 2 SMQAM = [3+3*i, 3-1*i, 3+1*i, 3-3*i,... -1+3*i, -1-1*i, -1+1*i, -1-3*i,... 1+3*i, 1-1*i, 1+1*i, 1-3*i,... -3+3*i, -3-1*i, -3+1*i, -3-3*i].*a(QAM_Pmax); end
% Расчет колличества бит L_2 = 0; for k = 1:QAM_Pmax Mp_2(k) = Rate{level_protection+1,k}(1)*floor((2*N_mux_list(robustens_mode,spectrum_mode+1 )... - 12)./Rate{level_protection+1,k}(2)); % Формула 77 end L_2 = sum(Mp_2);
% Задаем схему выкалывания punc = cell(QAM_Pmax,1); for n = 1:QAM_Pmax Num_puncpat = ((Mp_2(n)+ 6)/mother_code)./length(puncpat{level_protection+1,n}); m = []; for k = 1:ceil(Num_puncpat) m = [m ,puncpat{level_protection+1,n}]; end punc{n,:} = [m(1:Num_puncpat*length(puncpat{level_protection+1,n}) - 36), puncpat_Rp{Rp(n),1}]; end % QAM модулятор H_QAM = modem.genqammod('Constellation', SMQAM, 'InputType', 'bit');
% Пременные x_in = 2*N_mux_list(robustens_mode,spectrum_mode+1); pBuff_out = zeros(x_in, 1); decoded_out = []; Input_Data_coder = []; N_simbol = 1000;
%% Программа кодера декодера tblen = 35; quant = 3; AmplQuant = 0.4; delta = 2*AmplQuant/(2^quant-2); for EbNo = 1:20 for l = 1:N_simbol %% Формирование последовательности бит Input_Data=randi([0 1],L_2,1); Input_Data_coder = [Input_Data_coder; Input_Data]; %% Сверточный кодер init_state = 0; if QAM_Pmax == 2 [In_Data_1] = convenc([Input_Data(Mp_2(1)+1:Mp_2(1)+Mp_2(2)); [0 0 0 0 0 0]'],trellis,punc{2, 1}, init_state); [In_Data_0] = convenc([Input_Data(1:Mp_2(1)); [0 0 0 0 0 0]'],trellis,punc{1, 1}, init_state); else [In_Data_0] = convenc([Input_Data(1:Mp_2(1)); [0 0 0 0 0 0]'],trellis,punc{1, 1}, init_state); end %% Мультиплексор if QAM_Pmax == 2 pBuff_out = [In_Data_0; In_Data_1]; else pBuff_out = In_Data_0; end % Отображение на созвездие QAM Mod_qam=modulate(H_QAM,pBuff_out); %% Канал передачи AWGN k=log2(M); Qam_rx=awgn(Mod_qam,EbNo+10*log10(k*1/2),'measured','dB'); %% Расчет ОСШ канала EsNo = EbNo*k/2; SNR = sum(real(Qam_rx).^2 + imag(Qam_rx).^2)/(EsNo*M);
%% Обратное отображение на созвездие QAM HD_QAM = modem.genqamdemod('Constellation', SMQAM, 'OutputType', 'bit','DecisionType', 'approximate llr','NoiseVariance', SNR); Demod_QAM=demodulate(HD_QAM,Qam_rx); %% Демультиплексор if QAM_Pmax == 2 In_Data_0 = Demod_QAM(1:x_in); In_Data_1 = Demod_QAM(x_in+1:2*x_in); else In_Data_0 = Demod_QAM(1:x_in); end %% Декодирование if QAM_Pmax == 2 [x,qcode_1] = quantiz(In_Data_1(:, 1),(-AmplQuant:delta:AmplQuant), (2^quant-1:-1:0)); [x,qcode_0] = quantiz(In_Data_0(:, 1),(-AmplQuant:delta:AmplQuant), (2^quant-1:-1:0)); [decoded_1] = vitdec(qcode_1,trellis,tblen,'trunc','soft', quant, punc{2, 1}); [decoded_0] = vitdec(qcode_0,trellis,tblen,'trunc','soft', quant, punc{1, 1}); else [x,qcode_0] = quantiz(In_Data_0(:, 1),(-AmplQuant:delta:AmplQuant), (2^quant-1:-1:0)); [decoded_0] = vitdec(qcode_0,trellis,tblen,'trunc','soft', quant, punc{1, 1}); end %% Мультиплексор if QAM_Pmax == 2 decoded = [decoded_0(1:Mp_2(1)), decoded_1(1:Mp_2(2))]; else decoded = decoded_0(1:Mp_2(1)); end decoded_out = [decoded_out, decoded]; end %% Подсчет количества ошибок [num,BER]=biterr(Input_Data_coder(1:end),decoded_out(1:end)'); BERcod(EbNo) = BER; fprintf('ОСШ: %f BER: %f \n', EbNo, BER); Input_Data_coder = []; decoded_out = []; end
semilogy(BERcod); grid on;
Вот графики:
Почему выигрышь жестких решений получился такой маленький, где косяк?
Сообщение отредактировал Ivan55 - Feb 13 2013, 15:23
|
|
|
|
|
 |
Ответов
|
Aug 13 2013, 08:49
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
нашел характеристику у AHA для 64КАМ, для некодированной передачи (без потерь демодулятора) BER - 10е-4 достигается при Eb/No = 16,5 дБ. отнимите от этого значения ваш ЭВК 4 дБ и получим 12,5 дБ. как для сверточного кода с кодовым ограничением К=7 и скоростью 0.6, то вроде нормально. А какой код приведен в рекомендации, я не нашел упоминания, может не Витерби, а TPC, например?
а зачем Вам вообще касаться вопросов модуляции, насколько я понимаю демодулятор Вы не проектируете. отбросьте вопросы модуляции и исследуйте характеристики только декодера. а характеристик BER для декодеров Витерби в сети полно.
|
|
|
|
|
Aug 13 2013, 09:29
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(Serg76 @ Aug 13 2013, 11:49)  нашел характеристику у AHA для 64КАМ, для некодированной передачи (без потерь демодулятора) BER - 10е-4 достигается при Eb/No = 16,5 дБ. отнимите от этого значения ваш ЭВК 4 дБ и получим 12,5 дБ. как для сверточного кода с кодовым ограничением К=7 и скоростью 0.6, то вроде нормально. У меня гдето так и получается) Цитата(Serg76 @ Aug 13 2013, 11:49)  А какой код приведен в рекомендации, я не нашел упоминания, может не Витерби, а TPC, например? по поводу этого не знаю, я декодировал сверточный код декодером Витерби, да и не думаю что в стандарте DRM кто то применяет ТРС Цитата(Serg76 @ Aug 13 2013, 11:49)  а зачем Вам вообще касаться вопросов модуляции, насколько я понимаю демодулятор Вы не проектируете. отбросьте вопросы модуляции и исследуйте характеристики только декодера. а характеристик BER для декодеров Витерби в сети полно. Мы все проектируем) а демодулятор был нужен чтобы оценить эффективность декодера и сравнить с рекомендациями и стандартом, но возникла проблема, что все вроде правильно делаю, все по теории а цифры в рекомендациях очень отличаются. Есть подозрение, что в ITU-R они приводят в качестве S/N как раз Eb/No
|
|
|
|
|
Aug 13 2013, 09:44
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(Ivan55 @ Aug 13 2013, 12:29)  Мы все проектируем) а демодулятор был нужен чтобы оценить эффективность декодера и сравнить с рекомендациями и стандартом ну чтобы оценить корректирующую способность декодера, демодулятор не нужен ). он нужен при оценке помехоустойчивости всего приемного тракта. Цитата(Ivan55 @ Aug 13 2013, 12:29)  по поводу этого не знаю, я декодировал сверточный код декодером Витерби, да и не думаю что в стандарте DRM кто то применяет ТРС так дело не пойдет, нужно иметь представление что с чем сравнивать, а то получается гадание на кофейной гуще. а как они получают на сверточных кодах такие скорости кодирования: 0.71, 0.78 и др? это что за перфорация такая или присутствуют еще какие-нибудь добавки в виде фрамера? Цитата(Ivan55 @ Aug 13 2013, 12:29)  Есть подозрение, что в ITU-R они приводят в качестве S/N как раз Eb/No ну вообще-то говоря, величины совершенно разные, а так не знаю. посмотрите еще другие стандарты.
|
|
|
|
|
Aug 13 2013, 09:54
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(Serg76 @ Aug 13 2013, 13:44)  ну чтобы оценить корректирующую способность декодера, демодулятор не нужен ). он нужен при оценке помехоустойчивости всего приемного тракта. да не нужен, но в рекомендациях приводят BER = 10^-4, для QAM-64, при скорости кодирования 0,6 должен достигаться на 15 дБ. Поэтому и ставлю кодер модулятор, канал с учетом этих параметров, прогоняю модулированные данные через канал, демодулирую, декодирую, сравниваю. Если прикинуть по bertool в матлабе относительно EbNo то данные я получаю верные, то есть такая связка рабочая Цитата(Serg76 @ Aug 13 2013, 13:44)  так дело не пойдет, нужно иметь представление что с чем сравнивать, а то получается гадание на кофейной гуще. а как они получают на сверточных кодах такие скорости кодирования: 0.71, 0.78 и др? это что за перфорация такая или присутствуют еще какие-нибудь добавки в виде фрамера? Да это сверточный кодер с жутким выкалыванием) посмотрите стандарт DRM версия помоему 3.1.1 Цитата(Serg76 @ Aug 13 2013, 13:44)  ну вообще-то говоря, величины совершенно разные, а так не знаю. посмотрите еще другие стандарты. посмотреть то можно, но это будет не интересно тем людям которым я буду что то доказывать) есть стандарт DRM, в нем описаны все параметры в соответсвии с которыми надо делать, в нем есть ссылка на ITU-R где для канала AWGN они приводят параметры которые должны получаться) но у меня чет не получается)) соответственно мои данные не аргументированы)
Сообщение отредактировал Ivan55 - Aug 13 2013, 09:57
|
|
|
|
|
Aug 13 2013, 10:07
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(Ivan55 @ Aug 13 2013, 12:54)  посмотреть то можно, но это будет не интересно тем людям которым я буду что то доказывать) есть стандарт DRM, в нем описаны все параметры в соответсвии с которыми надо делать, в нем есть ссылка на ITU-R где для канала AWGN они приводят параметры которые должны получаться) но у меня чет не получается)) соответственно мои данные не аргументированы) ок, понятно. там по-ходу еще перемежение присутствует, его тоже надо учитывать. а так-то в алгоритме Витерби и ломаться нечему, он или работает или нет ))). может попробовать для увеличения корректирующей способности использовать MAP - алгоритм, но это правда потребует бОльших вычислительных затрат.
Сообщение отредактировал Serg76 - Aug 13 2013, 10:12
|
|
|
|
|
Aug 13 2013, 10:11
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(Serg76 @ Aug 13 2013, 14:07)  ок, понятно. там по-ходу еще перемежение присутствует, его тоже надо учитывать да перемежение я делал) но оно не влияет когда канал Гауссов, оно эффективно при замираниях, когда пакеты ошибок надо размазать по всей длинне символа, а в awgn они ложаться случайно, т.е. равномерно, смысл перемешивать) когда они итак размазаны
|
|
|
|
|
Aug 14 2013, 09:53
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(petrov @ Aug 14 2013, 13:41)  Очевидно по формуле LLR поделить на дисперсию шума, а потом уже квантовать. Дак в формуле LLR она итак поделена на дисперсию) может наоборот умножить?
|
|
|
|
|
Aug 14 2013, 10:08
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(petrov @ Aug 14 2013, 14:00)  Так в чём проблема? Если у вас LLR правильно посчитано, квантуйте и всё, так и должно быть, чем зашумлённей символ, тем меньше доверия к нему. Да, отлично)) именно так) но амлитуду квантования можно взять 0.00000001 а можно и 50, как с этим быть?) неужто наугад)
|
|
|
|
|
Aug 14 2013, 11:51
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(petrov @ Aug 14 2013, 13:17)  А как вы тогда до этого места добрались, ведь для того чтобы LLR для QAM посчитать нужно с порогами сравнивать, т. е. кое-какие решения принимать, поэтому символы должны пройти через АРУ, эквалайзер, ничего плавать не должно? нет, имеется ввиду, что расчет LLR для многопозиционных модуляций сильно зависит от дисперсии и оценка для некоторых бит в символе может иметь сильный разброс, то о чем говорит Иван, мы с ним уже это обсуждали в какой-то ветке. там же я выкладывал доку от AHA, в которой приведен расчет LLR для КАМ созвездий. прежде, чем запускать блок расчета LLR, I/Q составляющие на выходе решающего устройства демодулятора должны быть приведены к эталонным значениям сигнально-кодовой конструкции, только так, иначе правильного расчета не получите.
|
|
|
|
|
Aug 14 2013, 17:00
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(petrov @ Aug 14 2013, 16:14)  Это и имел ввиду, после этого не должно возникать вопросов по квантованию, если он LLR посчитал, то в чём проблема то? Возможно) просто не знаю какой диапазон взять для квантователя, как он расчитывается? брать просто максимальное значение метрики, при ОСШ например 1 дБ и в таком диапазоне квантовать, или как... чет туплю
|
|
|
|
|
Aug 14 2013, 21:12
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Ivan55 @ Aug 14 2013, 21:00)  Возможно) просто не знаю какой диапазон взять для квантователя, как он расчитывается? брать просто максимальное значение метрики, при ОСШ например 1 дБ и в таком диапазоне квантовать, или как... чет туплю Всё понял о чём речь, вопрос правильный. Нет смысла учитывать большой диапазон метрик. Берёте для кода BER для AWGN, определяетесь с количеством уровней квантователя, чтобы потерями можно было пренебречь, определяетесь с минимальным Eb/N0 при котором достигается необходимый BER. Квантовать с более мелким шагом LLR более шумных символов бесполезно, грубо говоря там только шум. Вверх для менее шумных символов в лучшем случае на 1 бит уровней квантователя добавить есть смысл, всё что выше просто ограничиваем. В районе этих границ можно немного пооптимизировать квантователь на модельке.
|
|
|
|
|
Aug 15 2013, 04:32
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(petrov @ Aug 15 2013, 00:12)  Берёте для кода BER для AWGN, определяетесь с количеством уровней квантователя, чтобы потерями можно было пренебречь т.е. 3х битный квантователь? в книгах пишут что дальнейшее увеличение не дает существенного результата Цитата(petrov @ Aug 15 2013, 00:12)  определяетесь с минимальным Eb/N0 при котором достигается необходимый BER. необходимый BER = 10^-4, а вот Eb/No = S/N - 10*lg(M*R), где скорость кода R = 0.6, кол-во бит в созвездие M = log2(64) = 6, а S/N в ITU-R равен 15.4, соответственно необходимое Eb/No ~= 9.7 дБ. Т.е. для данного Eb/No посмотреть их уровень, и для такого уровня задать квантователь 3х битный?
|
|
|
|
|
Aug 15 2013, 06:43
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Ivan55 @ Aug 15 2013, 08:32)  т.е. 3х битный квантователь? в книгах пишут что дальнейшее увеличение не дает существенного результата Вот и проверьте правильно ли в книгах пишут, может там немного другой случай имеют ввиду. Цитата(Ivan55 @ Aug 15 2013, 08:32)  необходимый BER = 10^-4, а вот Eb/No = S/N - 10*lg(M*R), где скорость кода R = 0.6, кол-во бит в созвездие M = log2(64) = 6, а S/N в ITU-R равен 15.4, соответственно необходимое Eb/No ~= 9.7 дБ. Т.е. для данного Eb/No посмотреть их уровень, и для такого уровня задать квантователь 3х битный? Т. е. для не AWGN канала в расчёте LLR мы учитываем шум символа, очевидно что может так получиться что в какой то момент искажений не будет, и допустим при Eb/No ~= 9.7 дБ мы должны получить BER = 10^-4, таким образом метрики должны быть проквантованы не грубее чем для случая AWGN.
|
|
|
|
|
Aug 15 2013, 07:05
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640

|
Цитата(petrov @ Aug 15 2013, 10:43)  Вот и проверьте правильно ли в книгах пишут, может там немного другой случай имеют ввиду. Да, это я тоже проверяю Цитата(petrov @ Aug 15 2013, 10:43)  Т. е. для не AWGN канала в расчёте LLR мы учитываем шум символа, очевидно что может так получиться что в какой то момент искажений не будет, и допустим при Eb/No ~= 9.7 дБ мы должны получить BER = 10^-4, таким образом метрики должны быть проквантованы не грубее чем для случая AWGN. Уже по всякому попробовал, но 10^-4 для таких параметров у меня достигается при ОСШ = 17 дБ, меньше никак... А в ITU-R 1615 приводят 15.3 дБ. Не пойму в чем может быть косяк. Декодер собрал по стандарту, LLR вроде тоже правильно, думал может уровень квантования не правильно задаю, но я его уже по всякому покрутил самый лучший результат дал 17 дБ. Если посмотреть на QAM-64 без кодирования, то у него 10^-4 достигается гдето на 24 дБ, соответсвенно выигрышь я получаю приблизительно 7 дБ. Может декодер 3/5 давать выигрышь больше? то есть 24 дБ - 15.3 дБ = 8.7 дБ, это возможно получить?
|
|
|
|
|
Aug 15 2013, 15:32
|
Профессионал
    
Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775

|
Цитата(Ivan55 @ Aug 15 2013, 10:05)  Декодер собрал по стандарту, LLR вроде тоже правильно, думал может уровень квантования не правильно задаю решайте проблемы по мере поступления, проверьте сначала декодер, хотя бы на BPSK или QPSK. если с ядром декодера все нормально, то переходите к блоку расчета LLR и сравните потом эту связку с промышленными модемами на высоких модуляциях, большой разницы не должно быть, алгоритм Витерби или работает или нет, там ломаться нечему. сделать равномерный квантователь входных I/Q составляющих тоже не должно вызывать проблем. Цитата(Ivan55 @ Aug 15 2013, 10:05)  Может декодер 3/5 давать выигрышь больше? то есть 24 дБ - 15.3 дБ = 8.7 дБ, это возможно получить? для сверточного кода с кодовым ограничением К = 7 с декодированием по Витерби не получится. даже 1/2 не дает такого ЭВК.
Сообщение отредактировал Serg76 - Aug 15 2013, 15:33
|
|
|
|
Сообщений в этой теме
Ivan55 Многоуровневый декодер Feb 13 2013, 05:30 des00 Цитата(Ivan55 @ Feb 12 2013, 23:30) Почем... Feb 13 2013, 06:01 Ivan55 Цитата(des00 @ Feb 13 2013, 09:01) наверн... Feb 13 2013, 07:41  des00 Цитата(Ivan55 @ Feb 13 2013, 01:41) красн... Feb 13 2013, 07:48   Ivan55 Цитата(des00 @ Feb 13 2013, 10:48) а, вы ... Feb 13 2013, 07:54    des00 Цитата(Ivan55 @ Feb 13 2013, 01:54) 1. Ко... Feb 13 2013, 08:01     Ivan55 Цитата(des00 @ Feb 13 2013, 11:01) Блин с... Feb 13 2013, 08:13 ilya79 У вас что-то не так и с мягкими решениями. При QAM... Feb 13 2013, 08:50 Ivan55 Цитата(ilya79 @ Feb 13 2013, 11:50) У вас... Feb 13 2013, 10:09 ilya79 Не очень понятно где вы нашли Юлию ("Спосибо ... Feb 13 2013, 10:45 Ivan55 Цитата(ilya79 @ Feb 13 2013, 13:45) Не оч... Feb 13 2013, 14:30  ilya79 Посмотрел ваш код, похоже у вас кодируються все то... Feb 13 2013, 15:03   Ivan55 Цитата(ilya79 @ Feb 13 2013, 18:03) ... Feb 13 2013, 15:11    Ivan55 Кажется понял что надо сделать, но че то не могу п... Feb 13 2013, 16:38 ilya79 Правильно ли я понял что вы не используете multist... Feb 13 2013, 17:23 Ivan55 Цитата(ilya79 @ Feb 13 2013, 20:23) Прави... Feb 14 2013, 05:20 Ivan55 Всем привет! Стал сравнивать декодер с рекомен... Aug 12 2013, 10:41 Serg76 Цитата(Ivan55 @ Aug 12 2013, 13:41) Всем ... Aug 12 2013, 12:27  Ivan55 Цитата(Serg76 @ Aug 12 2013, 15:27) по ви... Aug 12 2013, 17:13             Ivan55 Цитата(Serg76 @ Aug 14 2013, 15:51) мы с ... Aug 14 2013, 12:03                   petrov Цитата(Ivan55 @ Aug 15 2013, 11:05) ...
... Aug 15 2013, 07:32                    Ivan55 Цитата(petrov @ Aug 15 2013, 11:32) В мод... Aug 15 2013, 08:29                    Ivan55 Здравствуйте! Вот что получилось, хотелось бы ... Aug 19 2013, 04:25       Serg76 Цитата(Ivan55 @ Aug 14 2013, 12:08) А кто... Aug 14 2013, 12:10 Serg76 Цитатат.е. 3х битный квантователь? в книгах пишут ... Aug 15 2013, 12:06 Serg76 я думаю, что это не предел, можно попытаться еще ч... Aug 19 2013, 11:46
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|