How can I reduce the BER in BPSK DSSS modulation with pulse shaping (in simulink)?

Status
Not open for further replies.

sakib501

Newbie level 5
Joined
Jan 18, 2010
Messages
9
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,348
I am trying to build a simple transmitter and receiver in simulink. Output of random number generator multiplied with PN generator. Then, after bpsk modulation and raised cosine pulse shaping it is fed to awgn channel. I need to know the parameters for this design and ways to reduce BER.
 


Are you planning on (a) implementing an error correcting scheme, or (b) do you just want to try for the best unencoded transmission? If (a) then try viterbi, turbo or low density parity codes. If (b) then either slow the data rate, increase the signal power, or lower the awgn level.
 

One more remark: implementation of pulse shaping for DSSS has no sense. Pulse shaping is needed for better spectral efficiency, but that efficiency itself is not applicable for signals under noise, like DSSS.
For receiving the signal you first concolve the PN sequence. Decreasing BER is possible by several ways - increasing power, increasing frequency band or reducing input data rate. The last two are due to increasing redundancy. I think it is better to take a longer PN sequence than implement a more complex error correction code after.
 


I am working on a project where I am supposed to design a computer program to simulate a simple synchronous DS-CDMA system with BPSK modulation for single and multiple user. In the channel, there are both rayleigh noise and gaussian noise. When I tried in simulink without pulse shaping filter, the BER came 0 which is normal. Since, I am supposed to use pulse shaping filter, I had to add the blocks.

For transmitting, I added raised root cosine trans. filter and for receiver I used raised root cosine receiver filter block of simulink library. After adding these, I get BER around 0.5 so I think, I am making some mistake either in the algorithm or in the parameters values. I am adding the image of the block diagram. Can you please help me out??

- - - Updated - - -

here is the attachement
 

Attachments

  • eda.jpg
    117.7 KB · Views: 411
  • eda.jpg
    117.7 KB · Views: 188

There is no such thing as zero BER in a realisable system. The Shannon Channel limit theorem states every channel has a limit. I am not sure why you saw 'zero BER'. Possibly your noise is so low that your channel is very good and BER looks close to zero? This already seems like a problem with the model. Are you using the built in BER block from the communications toolbox? Also, check the bit rate of your transmissions. Faster = higher BER.
Pulse shaping is a form of filter and as such limits the bandwidth of the signal. So the theoretical limit of your channel will be reduced accordingly, so then the BER will rise if you don't change any other parameters. This still doesn't explain why you are seeing BER = 0.5 which is as good as random guessing. Check the parameters of the RRC filter blocks, and make sure they complement one another.
Sorry I can't be of more help.


 

Try to eliminate noisy channel from model. If BER remains the same, then the error is in model, probably in the delay.
 

can you teach me the parameters of the random integer ,pn sequence ,bpsk modulator/demodulator ?
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…