1. Technical Field
This invention relates to the art of RF broadcasting and, more particularly, to sinusoidal-cosine wave generation employing look-up tables.
2. Description of the Prior Art
In the field of RF broadcasting, the use of sine wave generation is employed in creating various signals including carrier waves. In this area of communications, the need for sine wave generators has found use in generation of a carrier that is modulated in amplitude by input audio and amplitude modulation or AM. Also, in analog television (TV) sine-wave generation is used for several of the signal subcarriers. Also, sine wave generation is employed in the generation of a composite signal for stereo FM and the carrier that is frequency modulated. Additionally, such sine wave generation is employed in the process of spectrum translation of a signal from one frequency band to another, a very common process in communications where is also known as mixing.
There is ample knowledge of the method and devices used for generation of a sine wave by using analog electronic hardware. In modern communication equipment though, more and more of the functions that were usually performed by analog circuitry are now being performed by programmable digital devices. This process is known as Digital Signal Processing or DSP and entitles, among other things, the conversion of the signals in question into sequences of numbers that represent the instantaneous values of a signal at fixed intervals of time. All the processing that used to be performed to the signal by analog electronic devices like filtering, mixing, modulation, etc., is now performed by the application of some mathematical rules to these sequences. It is a well-recognized fact that the vast advances in telecommunications during the last decade are due to a great extent to the development in the area of DSP.
Implementing a high-speed sine wave synthesizer pushes the limits of current DSP technology. The problem arises because the standard algorithms used to calculate any trigonometric function in a programmable DSP are based on the Taylor series expansion of the function in question, which is a very time consuming procedure. Hence, for a given finite number of CPU cycles only a limited number of results can be rendered in real time. Several alternative algorithms have been developed specifically intended to boost the performance of sine wave generation. These often require some kind of trade-off between memory and computational complexity. For example, increasing the memory in a look-up table often reduces the computational requirements. The presently known methods for the generation of pure sinusoidal waves are:
1—Taylor series expansion
2—Direct look-up-table
3—Interpolated look-up-table
4—Recursive iteration.
5—Resonator
If the signal to be generated instead of being a pure sine wave of constant amplitude and frequency, has arbitrary phase at any point in time, like in the case of a modulated carrier on the FM broadcast transmission, only the first three of the above-mentioned methods can be used.
The present invention includes a new algorithm based on the use of multiple look-up-tables and a rotational matrix operator, that compares favorably with any of the known methods. It is much faster than the Taylor expansion algorithms, for instance one version is more than 20 times faster than the optimized version of the algorithm implemented in the Texas Instrument DSP, known as model number TMS320C6713 DSP. So, for a wide range of applications where performance is of paramount importance, the only viable choices are 2 and 3. Furthermore, since method 3 is an improvement of 2 regarding the precision of the calculations at the expense of extra mathematical operations only the comparison from method 3 has relevance.
In accordance with the invention, an RF broadcasting system is presented that employs sinusoidal wave generation with look-up tables. The system includes a base band signal generator that converts a received N bit digital base band signal into an N bit digital address based on the base band signal. A signal processor is included having a plurality of addressable look-up tables that provide sinusoidal wave generating data, each of the tables receiving the address and providing therefrom multi-bit wave generating data. The processor also includes multipliers and summer means all configured and arranged to perform the algorithm:
Cos [a+b]=Cos [a]·Cos [b]·Sin [a]·Sin [b]
or the algorithm:
Sin [a+b]=Cos [b]·Sin [a]+Cos [a]·Sin [b]
for use in the generation.
The foregoing and other features of the present invention will become apparent to one skilled in the art to which the present invention relates upon consideration of the following description of the invention with reference to the accompanying drawings, wherein:
To more fully explain the invention herein, reference is now made to
The point to presenting the discussion above relative to
The heart of an FM broadcast transmitter is its exciter. The function of the exciter is to generate and modulate the carrier wave with one or more inputs (mono, stereo, SCA) in accordance with FCC standards. The FM modulated carrier is then amplified by a wideband amplifier to the level required by the transmitter's following stage.
Stereo transmission places the most stringent performance requirements upon the exciter. Since the exciter is the origin of the transmitter's signal, it determines most of the signal's technical characteristics including signal to noise ratio, distortion, amplitude response, phase response and frequency stability. Waveform linearity, amplitude bandwidth and phase linearity must be maintained within acceptable limits throughout the analog baseband chain from the stereo and subcarrier generators to the FM exciter's modulated oscillator. The introduction of AES3 digital audio transport and all digital FM modulation techniques like DDS eliminate the distortions introduced by analog circuits. In a fully digital FM exciter, the left and right audio data is converted into a digital representation of stereo baseband by DSP. This data is then further converted into a frequency modulated carrier by Direct Digital Synthesis (DDS) algorithm, also running in the DSP. Several Interpolation stages, a frequency translation (in a digital mixer), performed in an FPGA follow the DSP stage, which in turn renders the signal into a D/A converter at which point it has become a fully modulated analog FM signal at low power level. From here, the FM carrier is usually amplified in a series of power amplifiers. The amplitude and phase responses of all the RF networks which follow the exciter must also be controlled to minimize degradation of the signal quality.
The Direct Digital Synthesis (DDS) algorithm allows direct synthesis of the carrier frequency, including FM modulation, from a mathematically generated sinewave operating in conjunction with a digital phase accumulator. When this technique is embedded into a DSP in combination with the process of generation stereo baseband, the SCAs and FM modulating this baseband information onto the RF carrier, the entire modulation process takes place in the digital domain. The FM signal generated by this method has extremely low noise and distortion for true 16 bit digital audio quality.
The implementation of the DDS in DSP uses a 32-bit Numerically Controlled Oscillator (NCO). It is perfectly possible to implement the NCO using a different number of bits. The choice of 32 bits depends of the particular requirements of the application where this disclosure is being use. Also note that the term NCO is used in this context as an alternate way of referring to the Frequency Signal Processor block of
Since at the essence of this process lies the calculation in real time of the sine and cosine of the phase accumulator tuning word, it is imperative that this calculation be performed at very high speed and with high precision.
Reference is now made to
Each of the LUT supplies its contents as a multi-bit output therefrom. These outputs are supplied to mixers 80 and 82 to obtain the product Cos [a]·Cos [b], and the product Sin [a]·Sin [b]. The outputs of the mixer 80 and 82 are supplied to a subtracter 84 which then provides the difference between the two signals, i.e., it provides the signal Cos [a]·Cos [b]−Sin [a]·Sin [b]=Cos [a+b]=Cos [β]. Alternatively,
As previously indicated each of the look-up tables 70, 72, 74 and 76 may each store 256 samples of the sinusoidal signal to be generated. If a single look-up table was to be used to perform this function, then a digital 16 bit number would require 65,536 samples and this would require an impractical amount of storage space given the available technology. If instead 20 bits of phase precision were desired the required storage spaces would be 4096 for the multiple LUT case versus 1048576 for the single LUT case. In general if the phase were to be represented as an arbitrary N bit number, the trade off between this implementation and a single look-up table can be summarized as follows:
In order to achieve the information for generating such a sinusoidal signal with today's technology, the foregoing shows that it can be accomplished with four look-up tables such as tables 70, 72, 74 and 76 together with two multipliers such as mixers 80 and 82 along with an adder/subtracter device 84.
It is worth noticing at this point that since the algorithm in question is capable of calculating a sine/cosine for an arbitrary input phase, it can also be used (and in fact is used) for the particular calculations of all the constant frequency sine waves used throughout all the algorithms running in the DSP for the generation of the 19 kHz pilot, the 38 kHz stereo subcarrier, and the 57 kHz RBDS subcarrier. Consequently, the frequency generator 90 that supplies the 19 kHz signal, the 38 kHz signal and the 58 kHz signal may be comprised of look-up tables and multipliers and a subtracter such as that employed by the signal processor FSM.
Although the invention has been described with respect to a preferred embodiment, it is to be appreciated that various modifications may be made without departing from the spirit and scope of the invention as defined by the appended claims. Further reductions in the size of the LUT can be achieved by making use of the relation Cos [a]=Sin [a+π/2]. Also It is easy to extend on the basic concept by splitting the angle into three or more “groups” instead of two as described in this application. For instance if 0≦α≦β≦γ≦2π where α+β+γ are a phase value represented by an L+M+N bits digital number where the phase L, M and N are three groups of bits representing the most, the middle and least significant bits of the phase word associated with the phases α, β and γ. By iterative application of the trigonometric identities given earlier we arrive to the equation, Cos [α+β+γ]=Cos [α]·Cos [α]·Sin [γ]+Cos [α]·Cos [γ]·Sin [β]−Sin [α]·Sin [β]·Sin [γ] which could in turn be implemented by means of the use of six LUT.