This disclosure relates generally to signal processing and, more particularly, to methods and apparatus to implement a third-order signal scrambler.
Communications equipment, such as private mobile phones, private Intranet signals, pay television signals, etc., frequently include circuits for tracking the phase or frequency of a received signal. This tracking circuit can be as fundamental as a phase-locked loop designed with a capability to track the received signal within specified limits of random variation of the signal phase and/or signal frequency.
An example apparatus includes a controlled scramble generator to generate a controlled random sequence based on one or more subcarriers and a random pulse sequence, the random pulse sequence based on an output of a random number generator processed by a multi-order sinusoidal noise function. The example apparatus further includes a sequence modifier to form an output sequence by combining a source sequence with the controlled random sequence, the controlled random sequence to modify a characteristic of the source sequence in a frequency domain.
An example method includes generating a controlled random sequence based on one or more subcarriers and a random pulse sequence, the random pulse sequence based on an output of a random number generator processed by a multi-order sinusoidal noise function. The example method further includes forming an output sequence by combining a source sequence with the controlled random sequence, the controlled random sequence to modify a characteristic of the source sequence in a frequency domain.
An example tangible machine-readable storage medium comprising instructions that, when executed, cause a machine to at least generate a controlled random sequence based on one or more subcarriers and a random pulse sequence, the random pulse sequence based on an output of a random number generator processed by a multi-order sinusoidal noise function, and form an output sequence by combining a source sequence with the controlled random sequence, the controlled random sequence to modify a characteristic of the source sequence in a frequency domain.
Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
Disclosed examples facilitate generating a controlled random process that varies the phase and/or frequency of an oscillatory sequence (sometimes referred to as a “signal”) and which may be consistently reconstructed. In some examples, the reconstruction process may be generated and used at a remote receiving device to remove the controlled random sequence phase and/or frequency oscillation from a received sequence.
Examples disclosed herein are directed to communications equipment associated with tracking circuits that track the phase and/or frequency of a received sequence. For example, disclosed examples implement a controlled scramble sequence to modify the phase, frequency and/or amplitude of a sequence to prevent intercepting and/or jamming the sequence. By implementing the controlled scramble sequence, scrambling of private mobile phone signals, scrambling of private intranet signals, encoding of pay television signals, etc. may be conducted so that a reception of such signals would not only require a user or system to obtain necessary unscrambling circuitry, but also require a valid code to decode the signals. In some instances, without either the unscrambling circuitry or the valid code, an unauthorized user or system may not recover the signals.
In some examples, a transmitting device and/or a receiving device generates a controlled scramble sequence and applies the controlled scramble sequence to modify the input sequence. For example, a transmitting device may apply the controlled scramble sequence to a source sequence to scramble the source sequence prior to transmission. In other examples, a receiving device may apply the controlled scramble sequence to a received sequence to unscramble (e.g., reconstruct) the source sequence from the received sequence.
Examples disclosed herein generate a controlled scramble sequence by filtering a random pulse sequence generated by a random number generator. In some examples, the seed value provided to the random number generator is password protected. In such instances, an unauthorized user attempting to access a source sequence is required to know the password and access software and/or hardware to unscramble the source sequence. In the illustrated examples, the output of the filter is a square-pulse sequence that, when applied to an input sequence (e.g., a source sequence or a received sequence), modifies the input sequence to exhibit characteristics similar to third-order noise (e.g., third-order frequency noise, third-order phase noise, etc.). For example, the spectral behavior of the third-order phase noise may have a defined power spectral density asymptote (e.g., a single-sideband straight-line asymptote) of −60 dB/decade, while a random-frequency-walk noise may have a defined single-sideband straight-line asymptote of −40 dB/decade. To further increase the complexity of the modified sequence, disclosed examples may modify the square-pulse sequence output by the filter with one or more square-pulse subcarriers that enable varying the shape of the frequency characteristic of the square-pulse sequence output and/or up-convert to vary the location of the sequence in the frequency domain. Alternatively, disclosed examples may (1) modify the square-pulse sequence output by the filter without a square-pulse subcarrier, or (2) not modify the square-pulse sequence output by the filter.
By applying the controlled scramble sequence to a source sequence, the scrambled sequence exhibits characteristics of third-order phase noise. Phase noise can be defined in either the frequency domain or in the time domain. When defined in the frequency domain, the phase noise is described in terms of its power spectral density (S(f)). When defined in the time domain, the phase noise is described either by frequency variance versus averaging time or by phase variance versus averaging time. The third-order phase noise has a power spectral density and is defined in Equation 1.
In Equation 1 above, the power spectral density (S(f)) is defined as the ratio of a scale factor (K) and frequency (f). In the illustrated example, the scale factor (K) is measured in radians per second per volt.
The example controlled scramble generator 105 of
In the illustrated example of
In the illustrated example, the protocol manager 110 provides a seed (e.g., an input) to the controlled scramble generator 105 when the scramble protocol is activated. To further improve security, the example protocol manager 110 password protects the seed. For example, a user may be required to provide a passcode (e.g., “0123”) to activate the scramble protocol. In the illustrated example, the protocol manager 110 generates a seed based on the passcode to provide to the controlled scramble generator 105. For example, the protocol manager 110 may generate a seed by increasing each value in a provided passcode by one and provide the generated seed (e.g., “1234”) to the controlled scramble generator 105 to generate the controlled scramble sequence. In the illustrated example, when the transmitting device and the receiving device input the same passcode, the same seed value is generated and, thus, the same controlled scramble sequence is generated to facilitate scrambling and reconstructing the source sequence. In some examples, the protocol manager 110 may provide a seed to the controlled scramble generator 105 only when the passcode is correct. In some such examples, the protocol manager 110 may retrieve a reference passcode from the example data store 120 to verify against the received passcode.
In the illustrated example of
In the illustrated example of
In the illustrated example of
While an example manner of implementing the apparatus 100 is illustrated in
In the illustrated example of
In the illustrated example of
where s is the kernel of the Laplace Transform.
In Equation 2 above, the transfer function (H(s)) is the ratio of the output (Y(s)) of the filter 210 and the input (X0(s)) to the filter 210.
In the illustrated example of
Using Laplace transform notation, the output (x1(t)) of the first N-stage shift register 215 can be defined using Equation 3.
X1(s)=e−NTs*X0(s), Equation 3:
note that (*) denotes scalar multiplication
The output (x2 (t)) of the second N-stage shift register 225 can be defined using Equation 4.
X2(s)=e−2NTs*X0(s) Equation 4:
The output (x3 (t)) of the third N-stage shift register 235 can be defined using Equation 5.
X3(S)=e−3NTs*X0(s) Equation 5:
In Equations 3, 4, and 5 above, the symbol for the number of stages (N) is a preselected positive constant, the symbol (T) is a sampling period in seconds, and (s) is the kernel of the Laplace transform.
In the illustrated example of
X(s)=X0(s)+(−3*X1(s))+(3*X2(S))+(−1*X3(s)) Equation 6:
Equation 6 above can be rewritten as Equation 7 after substituting Equations 3, 4, and 5 into Equation 6 and rearranging some terms.
X(s)=X0(s)[1−e−NTs]3 Equation 7:
The first example accumulator 245 receives the sum (x(t)) provided by the adder 240 and accumulates (e.g., sums) the values over a period and releases the accumulated value at the end of the period. The second example accumulator 250 receives the accumulated value from the first example accumulator 245 and additionally accumulates the values received from the first example accumulator 245 over a period and releases the accumulated value at the end of the period. The output of the accumulators 245, 250 may be defined using Equation 8. In the illustrated example, the accumulators 245, 250 reset their values to zero at the start of each accumulation period.
In Equation 8 above, the output of the example accumulators 245, 250 is described using Laplace transform notation. In the illustrated example of
A change in frequency to a sequence based on the output (y(t)) of the filter 210 is equivalent to the first derivative of the output (y(t)) with respect to time and is shown in Equation 10.
Equation 10 above can be rewritten using Laplace transform notation and is shown in Equation 11.
In Equation 11 above, the symbol (L) represents the Laplace operator. Equation 11 is rewritten as a transfer function in Equation 12.
With respect to Equation 12 above, because the transfer function is a stationary process as described below in Equation 13, the frequency variant portion of the transfer function for the filter can be expressed using Equation 14.
Denoting X0(s)=v, the transfer function of the filter 210 can be expressed using Equation 15, where the symbol (Δf) is the change in frequency based on y(t).
In the illustrated example, the output (y(t)) of the filter 210 is an output square-pulse sequence. The autocorrelation function for the output square-pulse sequence (y(t)) can be defined using Equations 16, 17, 18, and 19.
In Equations 16, 17, 18 and 19 above, the symbol (c) represents the autocorrelation interval of the output square-pulse sequence (y(t)). The mean square power of the phase variation of the output square-pulse sequence (y(t)) is defined using Equation 20.
The power spectral density function of the output square-pulse sequence (y(t)) is defined using a sinc function in Equation 21.
In Equation 21 above and with reference to the filter 210, the symbol (K) is a constant multiplier to the frequency step size and is measured in radians per second per volt. The symbol (N) is a dimensionless, positive integer and represents the length of the N-stage shift registers 215, 225, 235. The symbol (P) represents the normalized input power of the input randomizer 205. The symbol (ω) represents the sampling period and is measured in seconds. The symbol (w) represents the frequency in radians per second. Accordingly, the output square-pulse sequence (y(t)) is based on (e.g., can be controlled by) the values of the constant (K), the positive integer (N) and the sampling period (T).
The autocorrelation function for the frequency (e.g., the second derivative of the autocorrelation function of the phase defined in Equation 20 above can be defined using Equations 22, 23, 24, and 25.
The mean square power of the frequency variation of the output square-pulse sequence (y(t)) is defined using Equation 26.
Referencing Equation 21 above, it can be seen that the power spectral density of the third-order noise is centered at a frequency (e.g., an oscillator frequency) of the source sequence in the frequency domain. To vary the shape and/or the location of the power spectral density in the frequency domain (e.g., adjust the power spectral density away from the center of the frequency), the output square-pulse sequence (y(t)) is multiplied by one or more square-pulse subcarriers (ci(t)) (sometimes referred to as a “binary offset carrier” (BOC)). In the illustrated example of
c(t)=A*sq(t,fs)=A*sign[sin(2π*fs*t)] Equation 27:
In Equation 27 above, the amplitude (A) is a constant amplitude that will modify the amplitude of the output square-pulse sequence (y(t)). The function (sq(t, fs)) represents a subcarrier of square-pulse at frequency (fs) that will frequency up-convert the power spectral density of the output square-pulse sequence (y(t)) to either side of the original center frequency in the frequency domain of the source sequence. In the illustrated example, the frequency (fs) of the subcarrier is set to a value greater than the rate of the output square-pulse sequence (y(t)). In the illustrated example, the sign operation on the trigonometric (sin) function on the same frequency (fs) is used to generate the subcarrier of square-pulse.
BOC modulation includes multiplying an input sequence (e.g., the output square-pulse sequence (y(t))) by a rectangular subcarrier (c(t)) of a frequency (fs) greater than or equal to the frequency of the input sequence. In the illustrated example, it is assumed that there is an integer number of periods of subcarrier square waves in each T-second period of the input sequence (y(t)) while the input sequence (y(t)) is constant. BOC modulation facilitates circumventing interference by using square-pulse modulated sequences, which have a sinc function shaped spectrum in the frequency domain. Thus, square-pulse sequences, such as binary phase-shift keys, have most of their spectral energy concentrated around the center frequency (e.g., of the input sequence) and two main spectral lobes moved to either side of the center frequency. Accordingly, multiplying the input sequence (y(t)) by a rectangular subcarrier (c(t)) at frequency (fs) (1) varies the shape of the frequency spectrum of the input sequence (y(t)), and (2) up-converts the frequency of the frequency spectrum of the input sequence (y(t)). Furthermore, by multiplying the input sequence (y(t)) by a constant amplitude (A), the constant term embedded in the subcarrier (c(t)) further varies the amplitude of the input sequence (Y(t)).
In the illustrated example of
z(t)=y(t)*Σi=1nci(t)=y(t)*Σi=1nAisign[sin(2π*fs,i*t)] Equation 28:
In Equation 28 above, each subcarrier (ci(t)) is associated with a respective subcarrier frequency (fs,i) and is associated with a respective amplitude (Ai). With reference to Equation 28, if the respective amplitudes (Ai) are set to
and the respective subcarrier frequencies are set to zero plus a phase addition of π divided by
the controlled scramble sequence (z(t)) 275 is equivalent to the output square-pulse sequence (y(t)) (e.g., no subcarriers are applied to the output (y(t)) of the filter 210).
With reference to Equations 21 and 28 above, the controlled scramble sequence (z(t)) is based on (e.g., can be controlled by) the values of the constant multiplier (K), the positive integer (N), the sampling period (T), the normalized input power (P), the amplitudes (Ai) of the respective subcarriers, and the respective subcarrier frequencies (fs,i). In some examples, the operating parameters (K, N, T, P, Ai, fs,i) may be preset. In some examples, the operating parameters (K, N, T, P, Ai, fs,i) are configurable on demand.
In some examples, the apparatus 100 includes more than one controlled scramble generator 105. For example, the apparatus 100 may include a first example controlled scramble generator 105 and a second example controlled scramble generator 105. The first example controlled scramble generator 105 may be used to randomize or vary a phase of a function (e.g., a sinusoidal function). The second example controlled scramble generator 105 may be used to randomize or vary a frequency of the function. The first example controlled scramble generator 105 may be run in parallel or in sequence with the second example controlled scramble generator 105.
While an example manner of implementing the controlled scramble generator 105 of
Flowcharts representative of example methods for implementing the apparatus 100 of
As mentioned above, the example methods of
If, at block 302, the example protocol manager 110 determines to activate the scramble protocol (e.g., the password is accepted by the protocol manager 110), then, at block 304, the protocol manager 110 initiates a receiving device. For example, the protocol manager 110 may synchronize time with the receiving device, may instruct the receiving device when to apply a controlled scramble sequence, how to configure the operating parameters (K, N, T, P, Ai, fs,i), etc. At block 306, the example sequence modifier 115 (
At block 310, the example protocol manager 110 determines whether to continue the scramble protocol. For example, the protocol manager 110 may activate the scramble protocol for a predetermined number of sequences (e.g., transmitting one sequence and receiving one sequence), for a predetermined period of time (e.g., five minutes), for a continuous session (e.g., until the user deactivates the scramble protocol), etc. If, at block 310, the protocol manager 110 determines not to continue the scramble protocol, then, at block 312, the protocol manager 110 deactivates the scramble protocol. For example, the protocol manager 110 may instruct the sequence modifier 115 to stop applying the controlled scramble sequence, may instruct a receiving device to stop applying the controlled scramble sequence, etc. At block 314, the apparatus 100 determines whether there is another sequence to transmit. If, at block 314, the apparatus 100 determines that there is another sequence to transmit, control returns to block 302 to determine whether to activate the scramble protocol. In some examples, if the scramble protocol is activated and there is another sequence to transmit while the scramble protocol is activated (e.g., a predetermined period of time has not expired, etc.), control may return to block 306 to cause the sequence modifier 115 to apply the controlled scramble sequence. In some examples, if the scramble protocol is deactivated and there is another sequence to transmit while the scramble protocol is deactivated (e.g., an unauthorized user is accessing the transmitter), control may return to block 308 to cause the sequence modifier to not apply the controlled scramble sequence and to send an unscrambled sequence. Otherwise, the example method 300 of
If, at block 404, the protocol manager 110 determines that the scramble protocol is activated, then, at block 406, the example sequence modifier 115 (
At block 510, the example multiplier 230 (
At block 516, the example accumulator 245 (
At block 522, the example subcarrier generator(s) 260 (
The processor platform 600 of the illustrated example includes a processor 612. The processor 612 of the illustrated example is hardware. For example, the processor 612 can be implemented by one or more integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
The processor 612 of the illustrated example includes a local memory 613 (e.g., a cache). The processor 612 of the illustrated example executes the instructions to implement the example controlled scramble generator 105, the example protocol manager 110, the example sequence modifier 115, the example external interface 125, the example input randomizer 205, the example filter 210, the example N-stage shift register 215, the example multiplier (−3) 220, the example N-stage shift register 225, the example multiplier (3) 230, the example N-stage shift register 235, the example adder 240, the example accumulator 245, the example accumulator 250, the example multiplier (K) 255, the example subcarrier generator(s) 260, the example multiplier(s) 265 and the example adder 270. The processor 612 of the illustrated example is in communication with a main memory including a volatile memory 614 and a non-volatile memory 616 via a bus 618. The volatile memory 614 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 616 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 614, 616 is controlled by a memory controller.
The processor platform 600 of the illustrated example also includes an interface circuit 620. The interface circuit 620 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
In the illustrated example, one or more input devices 622 are connected to the interface circuit 620. The input device(s) 622 permit(s) a user to enter data and commands into the processor 612. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint, and/or a voice recognition system.
One or more output devices 624 are also connected to the interface circuit 620 of the illustrated example. The output devices 624 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer and/or speakers). The interface circuit 620 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip, or a graphics driver processor.
The interface circuit 620 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 626 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The processor platform 600 of the illustrated example also includes one or more mass storage devices 628 for storing software and/or data. Examples of such mass storage devices 628 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives. The example mass storage 628 implements the example data store 120.
Coded instructions 632 to implement the methods of
From the foregoing, it will be appreciated that the above disclosed methods, apparatus, and articles of manufacture facilitate generating a controlled scramble sequence to modify a sequence. For example, disclosed examples may apply the controlled scramble sequence to a source sequence to scramble the source sequence prior to transmission. In other examples, disclosed examples may apply the controlled scramble sequence to a received sequence to unscramble sequence (e.g., reconstruct the source sequence). Disclosed examples further enable varying the shape and/or the location of the power spectral density of the source sequence to reduce the likelihood a transmitted sequence is intercepted and/or jammed.
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
This patent arises from a continuation-in-part of U.S. application Ser. No. 15/098,083, entitled “METHODS AND APPARATUS TO IMPLEMENT A SIGNAL SCRAMBLER”, which was filed on Apr. 13, 2016 and is hereby incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3162729 | Holt | Dec 1964 | A |
3290667 | Stine | Dec 1966 | A |
3748589 | Miller | Jul 1973 | A |
4129832 | Neal et al. | Dec 1978 | A |
4617594 | Katagiri et al. | Oct 1986 | A |
4646032 | Wheatley, III et al. | Feb 1987 | A |
4684903 | Hunt et al. | Aug 1987 | A |
4791390 | Harris | Dec 1988 | A |
4888799 | Mobley et al. | Dec 1989 | A |
5355171 | Miyazaki et al. | Oct 1994 | A |
5986512 | Eriksson | Nov 1999 | A |
6611567 | Balakrishnan et al. | Aug 2003 | B1 |
20020099942 | Gohl | Jul 2002 | A1 |
20040090802 | Pourseyed | May 2004 | A1 |
20070230701 | Park et al. | Oct 2007 | A1 |
20080205552 | Sartori | Aug 2008 | A1 |
20100027608 | Priotti | Feb 2010 | A1 |
20110255453 | Roh et al. | Oct 2011 | A1 |
20140071936 | Zhang et al. | Mar 2014 | A1 |
20140355408 | Tong et al. | Dec 2014 | A1 |
20150116563 | Herman et al. | Apr 2015 | A1 |
20170055242 | Kusashima et al. | Feb 2017 | A1 |
20170257203 | Tong et al. | Sep 2017 | A1 |
Entry |
---|
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 15/098,083, dated Apr. 6, 2018, 14 pages. |
United States Patent and Trademark Office, “Non Final Office Action”, dated Feb. 8, 2019, in connection with U.S. Appl. No. 15/098,083 (8 pages). |
“Orthogonal Frequency Division Modulation” (OFDM) article dated Nov. 28, 2011, [https://www.csie.ntu.edu.tw/˜hsinmu/courses/_media/wn 11fall/ofdm.pdf], 21 pages. |
“Chapter 2: Air Interface Concepts: 2.2 Orthogonal Frequency Division Modulation,” article dated Jul. 8, 2009, [https://m.eet.com/media/1072708/LTE_Chapter2_29to38.pdf], 10 pages. |
United States Patent and Trademark Office, “Final Office action,” issued in connection with U.S. Appl. No. 15/098,083 dated Oct. 19, 2018, 10 pages. |
United States Patent and Trademark Office, “Notice of Allowance,” dated Jul. 1, 2019, in connection ith U.S. Appl. No. 15/098,083 (8 pages). |
Number | Date | Country | |
---|---|---|---|
20170302400 A1 | Oct 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15098083 | Apr 2016 | US |
Child | 15474499 | US |