

Most scramblers utilise a Maximum Length Pseudo-Random Binary Sequence (MLPRBS or MLS), this uses a shift register an exclusive-or gates to randomise the data, as shown in the following diagrams. There are many reasons for scrambling the signal, including : spreading the spectrum and reducing the correlation between separate channels. Modulated signals are often scrambled when they are modulated. If you have found this solution useful then please do hit the Google (+1) button so that others may be able to find it as well.
XCORE XSCOPE CODE
When the complexity issue is coupled with the fact that the majority of DSP algorithms are block oriented vector processing algorithms and it is now becoming possible for high level language compilers to produce code that is 100% optimised.
XCORE XSCOPE HOW TO
This means that it is increasingly difficult for programmers to learn how to fully optimise their algorithms. The architectures of the latest DSPs are also becoming more complex, for example with the integration of parallel execution units.

Modern high performance DSPs are also changing the way we view algorithmic efficiency and an increasing number of projects are written in a high level language because the savings at development time are far greater than the extra cost overhead of using faster processors at deployment. Using the same language for development and deployment often allows the same code to be used for both, with the different I/O requirements handled through the use of conditional compilation of the source.
XCORE XSCOPE PC
An increasingly common development route is to develop the algorithms on a PC or Workstation and then rewrite the application for the target processor. The development process is therefore very much easier than writing the algorithm in assembly code from scratch. The latest generation of compilers allows high level code to be compiled to a quality of assembly code that is very close to that which would be generated by hand. Integration with real-time kernels and operating systems.Rapid prototyping and algorithm proving.Primary Reasons For Using High Level Languages Another benefit to using a high level language for the system development is that a system can be rapidly prototyped to prove the algorithms and then hand optimised using assembly code for the time critical areas. Today's commercial pressures have moved the "goal-posts" dramatically and typical project development timescales require a larger part of the application to be developed using a high level language. The field of Digital Signal Processing is constantly pushing the price / performance envelope of technology and traditionally this has required systems developers to use assembly language for the majority of the time critical signal processing routines.
