Embodiments of this disclosure relate generally to wireless in-band on-channel (IBOC) signals, and more particularly, to decoding wireless IBOC signals.
Wireless IBOC signals may include information associated with one or more services, such as audio, traffic, or data services for HD Radio™. Less than all of the services in an IBOC signal, however, may be of interest to a receiver device that receives the signal. Existing receiver devices may nevertheless store all received services in a memory and subsequently determine which of the stored services are applicable to the receiver device. Such determinations may require more memory than is necessary for processing services of interest, which may be inefficient and costly. Furthermore, existing standards that prescribe formats for communicating IBOC information may not provide information that facilitates more efficient processing of IBOC information.
Certain embodiments herein are directed to optimized decoding of in-band on-channel (IBOC) services, such as audio, traffic, and data associated with HD Radio™. Service information, such as service boundaries for one or more segments associated with IBOC services, may be identified and formatted for transmission to a receiver device. The receiver device may use the service boundaries to select or filter segments associated only with a service of interest from a bit stream of segments associated with one or more other services, according to one embodiment.
The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
Certain implementations will now be described more fully below with reference to the accompanying drawings, in which various implementations and/or aspects are shown. However, various aspects may be implemented in many different forms and should not be construed as limited to the implementations set forth herein; rather, these implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Like numbers refer to like elements throughout.
Certain embodiments herein are directed to, among other things, optimized decoding of in-band on-channel (IBOC) services. IBOC may refer to a hybrid method of transmitting digital radio and analog radio signals simultaneously on the same frequency. A broadcast transmitter device may generate such signals to include one or more IBOC services, such as audio, traffic, or data services for transmission to a receiver device. To facilitate a receiver device decoding an IBOC service, the transmitter device may identify and include certain service information in packets or segments associated with the IBOC services. Examples of such service information may include an identification of the type of IBOC service associated with the segments, one or more logical channels over which the segments will be transmitted, a number of segments associated with the type of IBOC service, a respective start bit for the segments, and a respective length of the segments, or other service boundary information.
A receiver device, upon receiving the service information, may use the service information to identify boundaries for segments associated with a service of interest, such as a station or channel selected by a user utilizing the receiver device. For example, a jazz music channel by a user utilizing the receiver device may be referred to as a service of interest. Thus, audio and data packets, for example, associated with the jazz music channel may be of interest to a receiver device. By leveraging service boundary information, such as the start bit and length of a segment, a receiver device may select only those bits associated with a service of interest from a bit stream of segments that may include one or more other services. Such a configuration may require less than a total amount of memory available at a receiver device, and therefore, may optimize use of the memory and hence decoding of IBOC services.
According to one configuration, a receiver device may include a signal processing unit, which may include a decoder, and one or more modules associated with the signal processing unit. The signal processing unit may include a physical layer (or layer 1) for processing service data associated with a service of interest and a data link layer (or layer 2) for processing service information. In one embodiment, a service boundary extraction module in layer 2 may determine the service boundaries for segments associated with a service of interest and may provide the service boundaries to a physical layer segment planner module in the physical layer of the signal processing unit. The physical layer segment planner may designate segments in a bit stream of segments associated with one or more services based at least in part on the service boundaries, configure a convolutional decoder to decode the designated segments, and translate the service boundaries into addresses that may be used by an address filter module to select or filter bits associated with a service of interest. The filtered bits may be stored in a memory and processed. Such processing may include, but is not limited to, manipulating the filtered bits, such as by decompressing or reformatting the filtered bits to a format suitable for outputting at a receiver device, for example. After the filtered bits are processed, the filtered bits, or a representation of the filtered bits based at least in pan on the processing, may be output to at least one of a speaker, display, etc., associated with the receiver device, in one embodiment.
By filtering a bit stream to obtain only one or more designated services of interest, memory and processing requirements may be reduced. Such reductions may be realized because the amount of data to be processed by a receiver may be reduced to only data associated with services of interest. Such reductions may be further facilitated by a memory allocation module in a receiver device which may dynamically allocate memory between layer 1 and layer 2 as may be required to more efficiently process service data.
The signal processing unit 132 may include a memory unit 134, an audio/data service generation unit 136, and an encoder unit 138. The audio/data service generation unit 136 may perform various functions, such as identifying and packetizing information associated with one or more services, among other functions. For example, the audio/data service generation unit 136 may identify service information for services that is broadcast to receiver devices. Such service information may include service boundaries for segments associated with the services, as well as other information. Examples of service information may include, but is not limited to, a starting offset bit for the segments, the length of the segments, the number of segments, a channel over which the segments may be transmitted, and the type of service associated with the segments, as non-limiting examples. The service information may be available in one or more databases or other storage mechanisms (not shown). Certain embodiments herein may leverage the service information to facilitate a receiver device's more efficient decoding of IBOC services, as will be described in greater detail below.
The audio/data service generation unit 136 may also generate a packet or segment that includes the service information for transmission to a receiver device. One or more of such segments may be included in a bit stream.
Returning to
An encoder unit 138 may access the service information in the memory unit 134 and encode the service information onto a signal, e.g., signal 104, for transmission to a receiver device 106 via the RE transmission unit 132, in one embodiment. One or more bit streams of digital content or data may also be encoded onto the signal 104. The digital data may include, but is not limited to, digital audio, traffic, and data. In some embodiments, the digital data in the signal 104 may include data generated via analog and digital modulations. For example, the signal 104 may have an analog signal of a talk radio channel, a digital audio of a music channel, and traffic data for use by in-vehicle navigation systems. Thus, a bit stream may carry several different services modulated using analog and digital modulation. In other embodiments, the signal 104 may include an analog signal and one or more digitally modulated sidebands.
Various techniques may be utilized to encode service information, or other information or data. Such encoding techniques may include, but are not limited to, orthogonal frequency division multiplexing (OFDM). Various other analog, digital, other techniques, or a combination thereof, may be used in other embodiments. The techniques may provide for error correction, resistance to adverse channel conditions such as fading, data compression, and so forth. In one embodiment, the signal 104 may be compliant with one or more standards set forth by the National Radio Systems Committee (“NRSC”) located in the United States and co-sponsored by the National Association of Broadcasters and the Consumer Electronics Association. For example, the signal 104 may be broadcast according to the HD Radio™ air interface promulgated by the NRSC.
The RF transmission unit 132 may modulate the encoded service information in the signal 104 using various modulation techniques, such as amplitude modulation, frequency modulation, phase modulation, etc.
This signal 104 may be received by one or more receivers 106. These receivers 106 may include portable radios, in-vehicle entertainment, systems, smartphones, laptops, netbooks, mobile handsets, and so forth. The receiver 106 may be configured to present at least a portion of the content or data contained in the signal 104 to one or more users 108 or another device. For example, the receiver 106 may be configured to demodulate and decode the digital audio of the music channel into an audible signal for output by a speaker, as well as provide the traffic data to the in-vehicle navigation system.
A signal 104 may be transmitted over various channels. In one embodiment, service boundary information may be transmitted over a channel that is different than the channel over which data may be transmitted. In one example, service boundary information may be transmitted over a PIDS IBOC channel, while content or data associated with a service may be transmitted over a different IBOC channel. According to this example, the PIDS channel may represent a low latency (e.g., relatively small time delay), fast logical channel, that may process data or other information faster than channels having, a relatively high latency or time delay over which the service data may be transmitted. Such a configuration may enable a receiver device 106 to receive and identify service boundary information before receiving and processing service data. In this way, as will be described in greater detail below, a receiver device may process service data associated with a service based at least in part on the service boundary information associated with the service.
A physical layer interface in the receiver 106 may include an RF unit 110 and a signal processing unit 112. The RF unit 110 may be configured to provide for reception of one or more radio frequency signals, such as signal 104, at one or more frequencies. According to one configuration, the RF unit 110 may include an amplifier, a mixer, a local oscillator, and so forth. The RF unit 110 may be implemented as discrete electronic components, integrated circuits, software-defined radio, or a combination thereof.
The signal processing unit 112 may include a memory unit 114, a decoder unit 116, and audio/data processing unit 118. The memory unit 114 may be configured to store one or more bits for subsequent retrieval and may, in one embodiment, be the same or at least similar to the memory unit 134 located at the transmitter device 102. In one embodiment, the memory unit 114 may be a constrained or limited amount, such as less than or equal to about 300 kilobytes.
The decoder unit 116 may be configured to decode signals received by the RF unit 110. The audio/data processing unit 118 may extract audio and/or data service information from output of the decoder unit 116 and process the information, among other functions. For example, the audio/data analysis module 118 may decompress audio services according to various formats, such as, but not limited to pulse code modulated (“PCM”) samples. At least a portion of the PCM samples may be presented to the user through speakers. As another example, the audio/data analysis module 118 may process data services, traffic services, and ad services, as non-limiting examples. At least a portion of the processed output may be presented on a display or provided to another unit for further processing.
The signal processing unit 112 may be configured such that at least the memory unit 114 and the decoder unit 116 may be disposed on a common integrated circuit die, in one embodiment. In another embodiment, the memory unit 114 may be integrated with the decoder unit 116. Other units, components, or modules may be combined or shared, such as the RF unit 110 and the signal processing unit 112, in other embodiments.
In some implementations, the receiver 106 may include a processor (not shown) having one or more cores and configured to access and execute at least in part instructions stored in one or more memories coupled to the processor to perform certain actions or functions. Such a processor may be used in conjunction with the signal processing unit 112 to provide associated functions, other functions, or a combination of both.
A display 120 may be incorporated into the receiver 106 which to present visual information to the user 108. In one embodiment, the display 120 may present information in the signal 104 as received and decoded by the signal processing unit 112. For example, where the signal 104 includes the digital audio of the music channel, the display 120 may provide a name of the song currently being broadcast and the artist performing as provided by the audio/data processing unit 118. Example types of the display 120 may include a liquid crystal display, plasma display, cathode ray tube, light-emitting diodes, etc.
The receiver device 106 may also include one or more speakers 122. The speakers 122 may be configured to accept a signal generated by the signal processing unit 112, such as PCM samples, and present sound to the user. For example, the signal processing unit 112 may output a signal to drive the speakers 122, which may generate an audible representation of at least a portion of the data in the signal 104.
The receiver 106 may also incorporate one or more input/output (I/O) interfaces 124. The I/O interfaces 124 may allow for coupling devices such as keyboards, joysticks, touch sensors, cameras, microphones, speakers, external memories, navigation devices, and so forth to the receiver 106. For example, a serial peripheral interface (“SPI”) may be provided to transfer traffic data present in the signal 104 to a navigation device.
The receiver 106 may be installed in or integrated with other devices, in some embodiments. For example, in one embodiment, the receiver 106 may be part of a smartphone or a vehicle entertainment system, as non-limiting examples. The receiver 106 may also share one or more components with other devices. For example, when integrated into a smartphone, the receiver 106 may present data from the signal processing unit 112 to the display or speakers of the smartphone. The receiver 106 may also receive user input when used in such fashion.
Also for illustrative purposes, and not by way of limitation, the modules herein are shown interconnected in one configuration. In other implementations, other interconnection configurations may be used. The following modules may be implemented as application-specific integrated circuits (“ASICs”), field programmable gate arrays (“FPGAs”), software-defined radios (“SDRs”) executing on a processor, and so forth. The modules described herein may be implemented as a plurality of circuit elements on a single integrated circuit die.
A demodulation module 302 may perform a number of functions to facilitate the processes described herein. One such function may include demodulating, a received signal 104, or other signals. In one embodiment, the demodulation module 302 may be configured to demodulate an orthogonal frequency-division multiplexed (“OFDM”) signal. Other types of signals, such as amplitude modulation, frequency modulation, or phase modulation signals, among others, may be demodulated by the demodulation module 320 in other embodiments. The results of the demodulation may include a demodulated bit stream, which the demodulation module 302 may output. Another function that may be performed by the demodulation module 302 may include directing the demodulated bit stream to various modules or units in the signal processing unit. Directing demodulated information may include the demodulation module 302 extracting at least a portion of a signal, such as the signal 104. For example, in one embodiment, service data (such as content associated with one or more services) may be extracted and passed to the deinterleaver module 310, while service information may be extracted and passed to the fast logical channel processing module 328.
As described, service information may be received over a fast logical PIDS channel according to the IBOC standard. Service data, however, may be received over one or more other logical channels, as indicated in
A dynamic memory management module (not shown) may perform various functions to facilitate decoding of IBOC services. For example, the dynamic memory management module may allocate memory for storing data or other information associated with layer 1 processing and/or layer 2 processing. The memory unit 314, by virtue of being shared across layer 1 and layer 2 modules, may be allocated in such fashion by the dynamic memory management module. For example, at least portions of the service boundaries or data link layer data 330, audio pulse code modulation (“PCM”) data 332, deinterleaver data 334, and other data 336 in the memory unit 314 may be allocated.
Dynamic allocation of memory may mean that varying amounts of the memory may be allocated for layer 1 and layer 2 processing. Such variations may be based on the priorities of the signal processing unit, which may be predetermined priorities, priorities that are determined based on service information (e.g., received from the demodulation module 302), or other factors. For example, the priorities may be based on the type of service, quality of service, number of services that require decoding, other indications in the service information, etc. In one embodiment, priorities may be used to allocate the memory unit 314 such that audio services are given first priority, followed by data services, or vice versa.
According to one example, the memory unit 314 may be insufficient for all operations demanded. For example, should the user 108 in
The fast logical channel processing module 328 may perform functions to facilitate efficient decoding of IBOC services. One such function may include extracting service information from the fast logical channel, e.g., the PIDS IBOC channel. In one embodiment, the extraction may be required when various information in addition to service information is received over the fast logical channel. In these instances, the fast logical channel processing module 328 may extract only relevant information, e.g., service information, to facilitate efficient decoding of IBOC services. The fast logical channel processing module 328 may also preassemble extracted service information, for example, as a result of the service information being segmented across multiple frames in the logical channel, in one embodiment. Thus, the fast logical channel processing module 328 may collect, each segment of service information and assemble the segments as a single bit stream of segments corresponding to service information for processing by other modules in the signal processing unit, as will be described in detail below.
Another function performed by the fast logical channel processing module 328 may include performing various checks on the information received over the fast logical channel. For example, various checks on the validity and integrity of the information may be performed to identify any dropped packets, signal fading, manipulations of the information (e.g., in association with receiving secured or encrypted information), or other checks to verify the trustworthiness of the information. Various techniques may be utilized to implement such checks, including checksum calculations, hash functions, etc.
A service boundary extraction module 326 may receive service information, for example, from the fast logical channel processing module 328. The service boundary extraction module 328 may parse the information to determine service boundaries for a service of interest, in one embodiment. Each segment associated with a service may include a header portion and a payload portion. The header portion may follow a particular format, e.g., IBOC PIDS format, that may facilitate parsing of the service information, including the service boundaries. The actual content of tile service information may be included in the payload portion of a segment.
As described, service boundaries may describe a starting bit offset for a segment in a bit stream associated with a service of interest, a length of the segment (which may be used by the service boundary extraction module 326 to calculate an ending bit, e.g., by summing the start bit offset by the segment length), the number of segments in a bit stream associated with a service (such as the service of interest), one or more logical channels over which the segments may be identified, and the type of service associated with the segment, among other information. Thus, according to one example, the service boundary extraction module 326 may parse service information for a particular service of interest, such as a jazz music channel selected by a user 108 utilizing a receiver 106 in
In one embodiment, the layer 1 or physical segment planner module 312 may receive the service boundary information from the service boundary extraction module 326 and divide a layer 1 frame bit stream into segments according to the service boundaries. In so doing, the physical segment planner module 312 may configure other modules in the signal processing unit to filter a service of interest from multiple services in a bit stream, according to one embodiment. For example, the physical segment planner module 312 may configure a convolutional decoder block, e.g., a Viterbi decoder block, into segments according to addresses associated with the services of interest. As used herein, “addresses” may refer to the start bit offset of a segment associated with a service of interest and the end bit of a segment associated with a service of interest. As described, the end bit may be calculated by summing the length of a segment with the start bit offset. In one embodiment, the Viterbi block may be configured to use and/or apply a different number of soft bits per each segment associated with a service of interest.
The physical segment planner module 312 may also translate the addresses into deinterleaved addresses and may provide the deinterleaved addresses to the address filter module 316, according to one embodiment. The address filter module 316 may permit only bits in a bit stream of service data that are within the desired addresses (e.g., between respective start offset bits and end offset bits) to be filtered and stored into the memory unit 314.
A deinterleaver module 310 may be coupled to the demodulation module 302. The deinterleaver module 310 may accept the demodulated bit stream and deinterleave the data included in the demodulated bit stream. Interleaving of blocks of data in frequency and time may be done for a variety of reasons. For example, interleaving may mitigate effects of interference in the radio channel associated with the signal 104. The deinterleaver module 310 may be configured to deinterleave one or more different interleaving formats. These formats may include block interleaving, convolutional interleaving, etc.
The deinterleaver module 310 may output a deinterleaved bit stream 342 to the address filter module 316. As described, the address filter module 316 (which may be coupled to the deinterleaver module 310) may be receive deinterleaved addresses of a service of interest from the physical layer segment planner module 312 and select or filter bits from the deinterleaved bit stream 342 based at least in part on the deinterleaved addresses, in one embodiment. The deinterleaved addresses may include data about locations of segments associated with one or more services of interest in the deinterleaved bit stream 342, which may be at least partially convolutionally encoded.
The output of the address filter module 316 may represent the filtered deinterleaved bit stream 344, which may be stored in the memory unit 314 or otherwise accessible to the convolutional decoding module 318. In one example, when no addresses are available to filter service data, all service data may be passed (e.g., to the memory unit 314) without filtering. For example, as described, when the signal processing unit (e.g., the signal processing unit 112 associated with the receiver 106) is first started and no services have been selected or designated as services of interest, the address filter module 316 may pass the deinterleaved bit stream 220 without modification. In some embodiments, assumptions may be made about a service of interest, such as a primary channel of digital audio, which may be initially selected and used for filtering.
By filtering the deinterleaved bit stream 220 to form the filtered deinterleaved bit stream 344, the amount of data to be stored and processed may be correspondingly reduced. The reduction in memory experienced upon implementing certain embodiments herein may therefore result in a smaller physical site of the memory unit 314 when constructed on an integrated circuit reducing the on-die footprint of the signal processing unit 112. Reductions in processor utilization, power consumption, etc., may also be realized due to the reduced volume of data in the filtered deinterleaved bit stream 344 compared to the deinterleaved bit stream 342. Such reductions may not be present in traditional decoders that may decode an entire physical layer frame.
The convolutional decoding module 318 may be configured to decode data that has been encoded using a convolutional algorithm or process. In one implementation, the convolutional decoding module 318 may be configured to use Viterbi decoding. In some embodiments, the convolutional decoding module 318 may retrieve the filtered deinterleaved bit stream 344 (e.g., as filtered by the address filter module 316) from the memory unit 114 and produce a decoded representation of the filtered deinterleaved bit stream (e.g., decoded bit stream segments 346). The decoded bit stream segments 346 may be stored in the memory unit 314.
The audio/data processing unit 118 in
The above configuration in
In the example illustrated in
The extracted service boundary information may also indicate that three services exist in the deinterleaved bit stream 408, e.g., jazz music audio, traffic, and data. The service boundary information may further indicate that five (5) segments exist, e.g., segments 410, 420, 430, 440, and 450. The extracted service boundary information may further indicate the addresses of the segments, or the start offset bit number and end offset bit number for each segments associated with the jazz music audio service. In one embodiment, the start offset bit and the length for each segment associated with a service of interest may be included in the service information. The start bit and the length are shown in
In one embodiment, the addresses for the jazz music segments (e.g., as identified by the service boundary extraction module 326) may be used to configure a convolutional decoder (e.g., the convolutional decoding module 318) and an address filter (e.g., the address filter module 316) such that only bits for the identified addresses associated with the jazz music service of interest are selected and stored in memory. In the present example, such configurations may cause the address filter module to select bits 100 to 300, bits 600 to 900, and bits 1100 to 1300. Such filtering may be implemented by designating segments associated with these start bit and end bit ranges in a bit stream of one or more segments, such as the deinterleaved bit stream 408; configuring a convolutional decoding module (e.g., convolutional decoding module 318) into segments according, to the start bits and end bits of the designated segments; and providing the deinterleaved addresses to the address filter, address filter module 316, to configure the address filter to select only bits associated with the deinterleaved addressed. In one embodiment, such functions may be performed by the physical layer segment planner module 312.
The result of filtering the deinterleaved bit stream 408 in the above manner may be the filtered bit stream 470, which reflects a concatenation of the services of interest in the present example. The audio portions of the jazz music service, or bits 100 to 300 and 600 to 900, or a representation of such bits after the bits have been further processed, may be output to speakers, such as the speakers 122, while the data portion of the jazz music service (bits 1100 to 1300) may be output to a display, such as the display 120. In one embodiment, the audio/data processing unit 318 in
The above example is non-limiting. Different numbers of segments, bit streams, numbers and lengths of segments, types of services, etc., may exist in other examples. Further, indications of bit positions in the deinterleaved bit stream are for purposes of illustration only and are not meant to be exact. For example, bit position 300 is not meant to point exactly to the point in the deinterleaved bit stream at which the segment 420 begins. Further, for purposes of illustration, an ending bit position for one segment may be used as a starting bit position for another segment, such as an adjacent segment. In other examples, the starting bit position for the adjacent segment may be incremented by at least one bit or may reflect padding that may be provided between each segment.
At block 504, service information, such as service boundaries for segments associated with a service of interest, may be determined by the receiver device. A description of the processes included in making the determination is described M association with
At block 506, modules in a signal processing unit, such as the signal processing unit 112, may be configured according to the service boundary information associated with a service of interest. As described, the modules may be configured to extract one or more services of interest from a bit stream including multiple services that may not be desired by the receiver 106. A description of the processes associated with configuring a signal processing unit accordingly is provided in
A bit stream of service data associated with one or more services may be received, at block 508. Such a bit stream may include a service of interest. At block 510, the bit stream may be processed according to the service boundaries such that the service of interest may be extracted from the bit stream and output at the receiver 106, such as to speakers, a display, etc. A description of such processing is provided in association with
The service information may be formatted for transmission to a receiver, e.g., by the audio/data service module 136, at block 604. In one embodiment, each header of a segment associated with a service may include the service information formatted according to the PIDS IBOC standard. Formatting the service information may include encoding the service information using various encoding, techniques, such as OFDM, as a non-limiting example.
The generated bit stream which includes segments associated with services, including a service of interest, may be transmitted to a receiver, such as the receiver 106, at block 606. In one embodiment, the service information may be sent over a fast logical PIDS channel, which may be a low latency channel serving as a control channel over which the service information may travel. Utilizing a fast logical PIDS channel to send service information may facilitate configuring a receiver to select only a service of interest before service data including one or more services of interest arrives at the receiver.
Service boundaries for segments associated with the service of interest may be identified in the demodulated service information, at block 706. Upon extracting such information, the start bit and end bit of each segment associated with the service of interest may be known. The identified service boundaries may be sent to a physical layer of the signal processing unit, at block 708, where it may be used to configure modules in the physical layer to select and store only those segments associated with the service of interest, in one embodiment.
The operations and processes described and shown above may be carried out or performed in any suitable order as desired in various implementations. Additionally, in certain implementations, at least a portion of the operations may be carried out in parallel. Furthermore, in certain implementations, less than or more than the operations described may be performed.
Certain aspects of the disclosure are described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to various implementations. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and the flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according, to some implementations.
These computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable storage media or memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage media produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, certain implementations may provide for a computer program product, comprising a computer-readable storage medium having a computer-readable program code Or program instructions implemented therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain implementations could include, while other implementations do not include, certain features, elements, and/or operations. Thus, such conditional language is not generally intended to imply that features, elements, and/or operations are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or operations are included or are to be performed in any particular implementation.
Many modifications and other implementations of the disclosure set forth herein will be apparent having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosure is not to be limited to the specific implementations disclosed and that modifications and other implementations are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Number | Name | Date | Kind |
---|---|---|---|
5898732 | Dapper et al. | Apr 1999 | A |
6985537 | Milbar | Jan 2006 | B1 |
20060046685 | Hjelmeland | Mar 2006 | A1 |
20110202270 | Sharma | Aug 2011 | A1 |
20110213681 | Shahid | Sep 2011 | A1 |
20120028567 | Marko | Feb 2012 | A1 |
Entry |
---|
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US2013/048548, mailed on Oct. 10, 2013, 17 pages. |
Peyla, et al., “Structure and Generation of Robust Waveforms for FM In-Band On-Channel Digital Broadcasting”, Broadcast Engineering Conference Proceedings, 56th, Jun. 13, 2002, 17 pages. |
Number | Date | Country | |
---|---|---|---|
20140094111 A1 | Apr 2014 | US |