Hi, Im working on aplication in matlab's app designer concerning on QPSK/BPSK receiver and transmitter. Im using two USRP B200mini-i connected with usb to one laptop. The application is designed to test the quality of BPSK/QPSK trensmission when changing the values of parameters such as transmit/receive frequency, gain, content of message being sent. The problem is that i cannot change any simulation parameters - changing it doesn't work.
"The gain behavior of different USRP® daughter boards varies considerably. Thus, the gain setting in the transmitter and receiver defined in this example may not be well suited for your daughter boards. If the message is not properly decoded by the receiver object, you can vary the gain of the source signals in the SDRu Transmitter and SDRu Receiver System objects by changing the SimParams.USRPGain value in the transmitter initialization file and in the receiver initialization file." Firstly, as in the example, I change the value of SimParams.USRPGain in sdruqpsktransmitter_init.m but it doesn't work at all. It doesn't metter what gain i set on the transmitter or receiver side, the transmission BER is always the same, transmission works perfectly - which means that changing it doesn't do anything.
SimParams.USRPCenterFrequency = 915e6;
Secondly the example mention that you can change frequency value. It also don't work at all, even setting the value outside the operating frequency range of the radio on transmitter or receiver side leads to a perfect transmission - This mean that changing these values in code doesn't work at all.
"Also, a large relative frequency offset between the transmit and receive USRP® radios can prevent the receiver functions from properly decoding the message. If that happens, you can determine the offset by sending a tone at a known frequency from the transmitter to the receiver, then measuring the offset between the transmitted and received frequency, then applying that offset to the center frequency of the SDRu Receiver System object."
Thirdly, also in sdruqpsktransmitter_init.m there is:
SimParams.ModulationOrder = 4;
I tried to change this value to 2 to get BPSK modulation but that doesn't work either. Does anyone know why this is happening or do you know if there is a possibility to get BPSK transmission from this example?
Fourthly, I tried to change sending message. All my changed parameters are saved in prmQPSKTransmitter, prmQPSKReceiver structure but i see in receiver command window that received messages are always "Hello world" as in example.
Transmitter and receiver code:
SimParams.Message = 'test';
Transmitter command window during transmission:
BarkerCode: [1 1 1 1 1 -1 -1 1 1 -1 1 -1 1]
ScramblerPolynomial: [1 1 1 0 1]
ScramblerInitialConditions: [0 0 0 0]
RaisedCosineFilterSpan: 10
MessageBits: [6300×1 double]
MasterClockRate: 20000000
USRPCenterFrequency: 915000000
USRPFrontEndSampleRate: 400000
USRPInterpolationFactor: 50
Receiver command window during and after transmission:
Error rate is = 0.067928.
Number of detected errors = 330567.
Total number of compared samples = 4866400.
The only parametr I use in the app that actually works is the transmit/receive time. It is also in the transmitter/receiver initialization file.
Is anyone able to help me solve at least some of these problems? This is very important to me. Thank you.