Вопрос

привет, для симуляции oqpsk я написал следующее

    values = [0;1;0;0;1;0;1;0];
    h = modem.oqpskmod; 
    y = modulate(h, values); 
    g = modem.oqpskdemod(h); 
    z = logical(demodulate(g,y)); 
    BER = sum(values(:)-z(:))/numel(values);

мои вопросы заключаются в следующем:1) как я могу убедиться, что он выполняет то, что я ожидаю от него (процесс oqpsk mod / demod)?2) как я могу внести шум?

Это было полезно?

Решение

Ответ 1:Напишите заявление, подобное этому:

assert(output == expectedOutput)

Если это возвращает TRUE, вы подтвердили свой код для одного случая.Повторите для получения достаточного количества и охвата тестовых примеров, чтобы удовлетворить себя.Серьезно:запишите список тестовых примеров и их входные данные и ожидаемые выходные данные, убедитесь, что ваш код выдает ожидаемые выходные данные.

Ответ 2:Добавьте шум, подобный этому:

noisyValues = values .* noiseVector;

Создайте noiseVector с нужными вам характеристиками шума.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top