WO2015120706A1 - 正弦波生成装置和方法 - Google Patents

正弦波生成装置和方法 Download PDF

Info

Publication number
WO2015120706A1
WO2015120706A1 PCT/CN2014/084421 CN2014084421W WO2015120706A1 WO 2015120706 A1 WO2015120706 A1 WO 2015120706A1 CN 2014084421 W CN2014084421 W CN 2014084421W WO 2015120706 A1 WO2015120706 A1 WO 2015120706A1
Authority
WO
WIPO (PCT)
Prior art keywords
sine wave
address information
information
data information
data
Prior art date
Application number
PCT/CN2014/084421
Other languages
English (en)
French (fr)
Inventor
王光耀
Original Assignee
深圳市汇顶科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市汇顶科技股份有限公司 filed Critical 深圳市汇顶科技股份有限公司
Priority to EP14882585.4A priority Critical patent/EP3082255B1/en
Priority to KR1020167018346A priority patent/KR101901502B1/ko
Publication of WO2015120706A1 publication Critical patent/WO2015120706A1/zh
Priority to US15/230,484 priority patent/US10013018B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0321Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/022Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0321Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
    • G06F1/0328Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers in which the phase increment is adjustable, e.g. by using an adder-accumulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03BGENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
    • H03B28/00Generation of oscillations by methods not covered by groups H03B5/00 - H03B27/00, including modification of the waveform to produce sinusoidal oscillations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption

Definitions

  • the present invention relates to the field of digital circuit technologies, and in particular, to a sine wave generating apparatus and method. Background technique
  • the present invention aims to solve at least one of the technical problems in the related art to some extent.
  • a first object of the present invention is to provide a sine wave generating apparatus which can generate a sine wave having a richer frequency and more precision by using a digital circuit having a smaller area.
  • a second object of the present invention is to propose a sine wave generation method.
  • the first aspect of the present invention provides a sine wave generating apparatus, including: a phase accumulating module, configured to acquire configuration information of a sine wave, and generate the sine wave according to the configuration information of the sine wave Address information, where the address information of the sine wave includes integer address information and decimal address information; the value checking module is configured to search for the first data information and the second data information of the sine wave according to the integer address information; An interpolation module, configured to perform interpolation between the first data information of the sine wave and the second data information according to a bit width of the decimal address information, and acquire the sine wave according to the decimal address information Interpolating the original data information; a random intercepting module, configured to interpolate the original number of the sine wave according to the bit width size of the decimal address information and the pseudo random sequence output value Performing a truncation process to obtain final interpolated data information of the sine wave; and a sine wave generating module for generating image information of the sine wave according to the final interpolated data information
  • the sine wave generating apparatus calculates the third data information based on the two pieces of data information in the look-up table by using the interpolation method, thereby equivalently expanding the capacity of the look-up table, thereby achieving the reduced number
  • the purpose of the circuit area of the circuit is used to round the original data of the interpolation, and then the generated random single-bit data is added to the integer part of the original data, thereby avoiding the distortion of the sine wave at certain frequency points.
  • the sine wave generating device of the embodiment of the present invention can generate a sine wave with more abundant frequency and precision by using a digital circuit with a smaller area, and pass the sine wave data information generated by the related technology and the present invention, respectively, through MATLAB.
  • the sine wave generated by the sine wave generating device of the embodiment of the present invention has better effects in both the time domain and the frequency domain. From the time domain, the sine wave generated by the sine wave generating device of the embodiment of the present invention is smoother and more regular; from the frequency domain, the sine wave generating device generated by the sine wave generating device of the embodiment of the present invention has a smaller harmonic energy.
  • a second aspect of the present invention provides a sine wave generating method, including: acquiring configuration information of a sine wave, and generating address information of the sine wave according to the configuration information of the sine wave, where
  • the address information of the sine wave includes integer address information and fractional address information; searching for the first data information and the second data information of the sine wave according to the integer address information; according to the bit width of the decimal address information Interpolating between the first data information of the sine wave and the second data information, and acquiring the interpolated original data information of the sine wave according to the decimal address information; according to the bit width size and the pseudo of the decimal address information
  • the random sequence output value performs a truncation process on the interpolated original data of the sine wave to obtain final interpolated data information of the sine wave; and generates image information of the sine wave according to the final interpolated data information of the sine wave.
  • the sine wave generating method of the embodiment of the present invention calculates the third data information according to the two pieces of data information in the look-up table by using interpolation, so that the capacity of the look-up table is enlarged, thereby achieving the reduction of the number.
  • the purpose of the circuit area of the circuit And through the random truncation method, the interpolation original data is rounded, and then the generated random single-bit data is added to the integer part of the original data, thereby preventing the distortion of the sine wave at certain frequency points.
  • the sine wave generating method of the embodiment of the present invention can generate a sine wave with more abundant frequency and precision by using a digital circuit with a smaller area, and pass the sine wave data information generated by the related technology and the present invention, respectively, through MATLAB.
  • FIGS. 4 and 5 it can be clearly observed that the sine wave generated by the sine wave generating method according to the embodiment of the present invention has a better effect in both the time domain and the frequency domain. From the perspective of the time domain, according to the present invention
  • the sine wave generated by the sine wave generation method of the embodiment is smoother and more regular; from the frequency domain, the sine wave generation method according to the embodiment of the present invention generates a sinusoidal harmonic energy smaller.
  • FIG. 1 is a schematic structural view of a sine wave generating device according to an embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of a random intercept module 400 according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a pseudo random sequence generator according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing a comparison of a sine wave time domain waveform of a sine wave generated by a sine wave generating device according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram showing a sine wave frequency comparison of a sine wave generated by a sine wave generating device according to an embodiment of the present invention
  • FIG. 6 is a flow chart showing a method of generating a sine wave according to an embodiment of the present invention.
  • FIG. 7 is a flow chart of a sine wave generation method according to an embodiment of the present invention.
  • Figure 8 is a flow chart showing a method of generating a sine wave according to another embodiment of the present invention.
  • Figure 9 is a flow chart showing a method of generating a sine wave according to still another embodiment of the present invention. detailed description
  • Fig. 1 is a view showing the configuration of a sine wave generating apparatus according to an embodiment of the present invention.
  • the sine wave generating device includes: a phase accumulating module 100, a value checking module 200, an interpolation module 300, a random intercept module 400, a sine wave generating module 500, and a rounding module 600, wherein the phase accumulating module 100 includes The storage unit 110 and the counting unit 120, the random intercept module 400 includes a pseudo random sequence generating unit 410.
  • the phase accumulation module 100 is configured to acquire configuration information of the sine wave, and generate address information of the sine wave according to the configuration information of the sine wave, wherein the address information of the sine wave includes integer address information and decimal address information.
  • the phase accumulation module 100 includes a storage unit 110 for storing configuration information of a sine wave.
  • the phase accumulation module 100 can receive configuration information of a sine wave input by a user through a sine wave configuration module, wherein the configuration information of the sine wave includes an initial phase and a frequency of the sine wave.
  • the sine wave configuration module is an interface module between the phase accumulation module 100 and the user, and the initial phase and frequency received by the sine wave configuration module change as the user input changes.
  • the phase accumulation module 100 may store the initial phase and frequency of the sine wave input by the user in the storage unit 110 after acquiring the configuration information of the sine wave.
  • the phase accumulating module 100 further includes a counting unit 120 for accumulating the phase accumulating module 100 according to a clock pulse.
  • the initial value of the counting unit 120 may be the initial phase of the sine wave
  • the length of the counting may be the frequency of the sine wave.
  • the bit width of the counting unit 120 may include an integer portion and a fractional portion, the bit width of the integer portion is located at a high bit of the bit width of the counting unit 120, and the bit width of the decimal portion is located at a low bit of the bit width of the counting unit 120.
  • the phase accumulating module 100 can accumulate the count by the external clock pulse by the counting unit 120, and each clock counting unit 120 generates a new data signal.
  • Interest, and the data information is the address information of the sine wave.
  • the external clock pulse can be set by the user according to his own needs.
  • the signal input by the phase accumulation module 100 is the configuration information of the sine wave (the initial phase and frequency of the sine wave), and the output signal is the address information of the sine wave, wherein the address information is integer address information and decimal when it is not an integer.
  • the address information consists of two parts.
  • the lookup module 200 is configured to find the first data information and the second data information of the sine wave according to the integer address information.
  • the sine wave generating device further includes a rounding module 600, and the rounding module 600 is configured to perform rounding processing on the address information of the sine wave to obtain integer address information of the sine wave.
  • the address information of the sine wave obtained by the phase accumulation module 100 includes the integer address information and the decimal address information
  • the address information of the sine wave acquired by the phase accumulation module 100 can be rounded down by the rounding module 600.
  • gp only retains the integer part of the address information, discarding the fractional part of the address information.
  • the signal input by the rounding module 600 is the address information of the sine wave
  • the output signal is the integer part of the address information.
  • the address information of the sine wave includes an 8-bit integer part and a 3-digit fraction part
  • the rounding module 600 rounds down the address information of the sine wave to output an 8-bit integer part.
  • the value-checking module 200 can search for the data information of the corresponding sine wave in the look-up table by using the integer address information in the sine wave address information acquired by the phase accumulation module 100.
  • the signal input by the lookup module 200 is integer address information
  • the output signal is the first data information and the second data information of the sine wave.
  • data information of one cycle of the sine wave obtained by sampling may be stored, and the data information may be solidified into the circuit or dynamically configured by the user.
  • the address information of each sine wave in the lookup table corresponds to one piece of data information, and the value checking module 200 can only receive the integer address information in the address information of the sine wave.
  • the rounding module 600 first needs to round down the address information of the sine wave, and output the obtained integer address information to the value checking module 200. Then, the value-checking module 200 performs a value-checking in the look-up table according to the input integer address information, and outputs the first data information corresponding to the integer address information, and outputs the first data information and the first data information adjacent to the look-up table.
  • One piece of data information that is, the second piece of data information.
  • the data information output by the lookup module 200 according to the integer address information should be the first data information, and the second data information is the additional data information output for the interpolation.
  • the first lookup table and the second lookup table are stored in the lookup module 200, wherein the lookup module 200 further includes a random access memory or a read only memory, a first lookup table and The second lookup table is stored in a random access memory or a read only memory.
  • the first lookup table stores one of the sine wave data information corresponding to the odd address information/even address information in the integer address information
  • the second lookup table stores The other of the sine wave data information corresponding to the odd address information/even address information in the integer address information.
  • the first lookup table stores data information of a sine wave corresponding to an odd integer address
  • the second lookup table stores an even number
  • the value-checking module 200 is further configured to perform value check in the first look-up table/second look-up table according to the integer address information to obtain first data information corresponding to the integer address information, and according to The next integer address information adjacent to the integer address information is compared in the second lookup table to obtain the second data information corresponding to the next integer address information. Therefore, after the value-checking module 200 receives the integer address information output by the rounding module 600, the value-checking module 200 can simultaneously output two pieces of data information, and the two pieces of data information are adjacent in the sampling data of the sine wave. .
  • the interpolation module 300 is configured to perform interpolation between the first data information and the second data information of the sine wave according to the bit width size of the decimal address information, and acquire the interpolated original data information of the sine wave according to the decimal address information. Specifically, the interpolation module 300 may calculate a plurality of interpolation data information between the first data information and the second data information according to the first data information, the second data information, and the decimal address information, and then the interpolation module 300 according to the decimal address information. And selecting one of the first data information, the second data information, and the plurality of interpolated data information as the interpolated original data information of the sine wave.
  • the 7 interpolation points are evenly distributed between the first data information v m and the second data information, and 7
  • the values of the interpolation points are v m + v d /8, v m + 2v d /8, v m + 3v d /8, v m + 4v d /8, v m + 5v d /8, v m + 6v d /8, v m + 7v d /8.
  • a value is selected between the first data information v m and the inserted 7 points, and the specific correspondence is as shown in Table 1.
  • Table 1 is a schematic diagram of the correspondence between the decimal address information ⁇ and the interpolation original data.
  • the symbol " ⁇ " represents a left shift operation.
  • the decimal address information fa is ' ⁇ 01"
  • it corresponds to the lookup module 200.
  • the first selected data and second information data v m of the first interpolation point between v p the interpolation point value v m + v d / 8, i.e. (8v m + v d) / 8 , that is, ( v m " 3 + v d ) /8, where (v m " 3 + v d ) is the interpolated raw data information.
  • bit width of the integer portion of the bit width of the counting unit 120 is determined by the depth of the lookup table. The greater the depth of the lookup table, the larger the bit width of the integer portion.
  • the bit width of the fractional part of the counting unit 120 is determined by the precision of the interpolation. The higher the precision required for interpolation, the larger the bit width of the fractional part should be. For example, if the depth of the lookup table is 256, the bit width of the integer portion of the bit width of the counter unit 120 should be 8 bits.
  • the random intercept module 400 is configured to perform a truncation process on the interpolated original data of the sine wave according to the bit width size of the decimal address information and the pseudo random sequence output value, to obtain the final interpolated data information of the sine wave. Specifically, the random intercept module 400 can divide the interpolated raw data by the 8 operation. Further, in the digital circuit, the interpolated original data can be directly shifted to the right by 3 bits to implement the divide by 8. However, since the interpolation original data is not necessarily divisible by 8, in the embodiment of the present invention, the random intercept module 400 performs a rounding process on the data after the interpolation original data is divided by 8 by using a random truncation method.
  • Bit[2] represents the third bit of the interpolated original data, that is, the highest bit that is discarded
  • r is the pseudo-random sequence output value
  • bit width of the pseudo-random sequence output value is 1 bit.
  • the interpolation raw data is V
  • the final interpolated data information is V » 3 + r , where the symbol ">>” is a right shift operation, and "v >> 3 " means that the interpolated original data V is shifted to the right by 3 bits. , equivalent to the interpolation of the original data divided by 8.
  • the random intercept module 400 includes a pseudo random sequence generating unit 410 for outputting a pseudo random sequence output value according to a preset bit width.
  • the pseudo-random sequence generating unit 410 may be, for example, a pseudo-random sequence generator, and the pseudo-random sequence output value r may be output by a pseudo-random sequence generator that can perform internal operations according to Bit[2].
  • the pseudo random sequence output value r is output.
  • 3 is a schematic structural diagram of a pseudo random sequence generating unit 410 according to an embodiment of the present invention. As shown in FIG. 3, in the internal circuit structure of the pseudo random sequence generating unit 410, the bit width of the pseudo random sequence generator is 8 bits.
  • the sine wave generation module 500 is configured to generate image information of a sine wave based on the final interpolation data information of the sine wave.
  • the sine wave generating apparatus calculates the third data information based on the two pieces of data information in the look-up table by using the interpolation method, thereby equivalently expanding the capacity of the look-up table, thereby achieving the reduced number
  • the purpose of the circuit area of the circuit is used to round the original data of the interpolation, and then the generated random single-bit data is added to the integer part of the original data, thereby avoiding the distortion of the sine wave at certain frequency points.
  • the sine wave generating device of the embodiment of the present invention can generate a sine wave with more abundant frequency and precision by using a digital circuit with a smaller area, and pass the sine wave data information generated by the related technology and the present invention, respectively, through MATLAB.
  • the sine wave generated by the sine wave generating device of the embodiment of the present invention has better effects in both the time domain and the frequency domain. From the time domain, the sine wave generated by the sine wave generating device of the embodiment of the present invention is smoother and more regular; from the frequency domain, the sine wave generating device generated by the sine wave generating device of the embodiment of the present invention has a smaller harmonic energy.
  • the present invention also proposes a sine wave generation method.
  • FIG. 6 is a flow chart of a sine wave generation method according to an embodiment of the present invention
  • FIG. 7 is a flow chart of a sine wave generation method according to an embodiment of the present invention.
  • the sine wave generation method includes:
  • the data information of the corresponding sine wave can be found in the look-up table by using the integer address information in the acquired sine wave address information.
  • data information of one cycle of the sine wave obtained by sampling may be stored, and the data information may be solidified into the circuit or dynamically configured by the user.
  • the address information of the sine wave includes the fractional part
  • the integer address information needs to be obtained, and then the value is checked in the lookup table according to the integer address information, and the first data information corresponding to the integer address information is output, and the first and the A data information is adjacent to the next data information in the lookup table, that is, the second data information.
  • the data information output based on the integer address information should be the first data information, and the second data information is the additional data information outputted for the interpolation.
  • S12 specifically includes:
  • the first lookup table and the second lookup table are stored in a random access memory or a read only memory.
  • the first lookup table stores one of the sine wave data information corresponding to the odd address information/even address information in the integer address information
  • the second lookup table stores the sine wave corresponding to the odd address information/even address information in the integer address information.
  • the first lookup table stores data information of a sine wave corresponding to an odd integer address
  • the second lookup table stores an even number
  • the plurality of interpolated data information between the first data information and the second data information may be calculated according to the first data information, the second data information, and the decimal address information, and then the interpolation module 300 is first according to the decimal address information.
  • the seven interpolation points are evenly distributed between the first data information ⁇ second data information v p , and the values of the seven interpolation points are v m + v d /8, v m + 2v d /8, respectively.
  • Table 1 is a schematic diagram of the correspondence between the decimal address information ⁇ and the interpolated original data.
  • the symbol " ⁇ " represents a left shift operation.
  • the data information is advise 1 and the second data information is the first interpolation point between Vp , and the value of the interpolation point is v m + v d /8, g ⁇ (8v m + v d ) /8, that is ( v m "3 + v d ) /8, where (v m « 3 + v d ) is the interpolated raw data information.
  • the interpolation original data can be divided by 8 operation. Further, in the digital circuit, the interpolation original data can be directly shifted to the right by 3 bits to realize the division operation. However, since the interpolation original data is not necessarily divisible by 8, in the embodiment of the present invention, the data after the interpolation original data is divided by 8 is also subjected to rounding processing by a random truncation method.
  • the sine wave generating method of the embodiment of the present invention calculates the third data information according to the two pieces of data information in the lookup table by using interpolation, so that the capacity of the lookup table is expanded, thereby achieving the reduction of the number.
  • the randomized truncation method is used to round the original data of the interpolation, and then the generated random single-bit data is added to the integer part of the original data, thereby avoiding the distortion of the sine wave at certain frequency points.
  • the sine wave generating method of the embodiment of the present invention can generate a sine wave with more abundant frequency and precision by using a digital circuit with a smaller area, and pass the sine wave data information generated by the related technology and the present invention, respectively, through MATLAB.
  • the sine wave generated by the sine wave generating method according to the embodiment of the present invention has a better effect in both the time domain and the frequency domain. From the time domain, the sine wave generated by the sine wave generating method according to the embodiment of the present invention is smoother and more regular; from the frequency domain, the sine wave generating energy generated by the sine wave generating method according to the embodiment of the present invention is more small.
  • Figure 8 is a flow chart showing a method of generating a sine wave according to another embodiment of the present invention.
  • the sine wave generation method includes:
  • the address information of the obtained sine wave includes the integer address information and the decimal address information
  • the address information of the acquired sine wave may be rounded down, gp, only the integer part of the address information is reserved, and the address information is discarded.
  • the fractional part For example, if the address information of the sine wave contains an 8-bit integer part and a 3-digit fractional part, the address information of the sine wave is rounded down to output an 8-bit integer part.
  • the pseudo-random sequence output value may be output by a pseudo-random sequence generator that may output a pseudo-random sequence output value according to an internal operation according to Bit[2].
  • the pseudo-random sequence generator has a bit width of 8 bits, and its initialized value is associated with Bit[2], and the specific settings may be set to different values according to different application scenarios.
  • the symbol " ⁇ " represents a left shift operation.
  • the address information of the sine wave can be performed by The next rounding process is performed to obtain the integer address information of the sine wave.
  • Figure 9 is a flow chart showing a method of generating a sine wave according to still another embodiment of the present invention.
  • the sine wave generation method includes:
  • configuration information of a sine wave input by a user may be received, wherein the configuration information of the sine wave includes an initial phase and a frequency of the sine wave.
  • the initial phase and frequency of the reception change as the user input changes.
  • the initial phase and frequency of the sine wave input by the user can be stored.
  • the counting is performed in accordance with a clock pulse. Further, the accumulated count can be performed under the action of an external clock pulse, and each clock pulse generates a new data information, which is the address information of the sine wave. Among them, the external clock pulse can be set by the user according to his own needs. S34. Perform rounding down the address information of the sine wave to obtain integer address information of the sine wave.
  • the sine wave generating method of the embodiment of the present invention can generate a clock pulse according to the initial phase and frequency of the sine wave by storing the initial phase and frequency of the sine wave.
  • portions of the invention may be implemented in hardware, software, firmware or a combination thereof.
  • a plurality of steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system.
  • a suitable instruction execution system For example, if implemented in hardware, as in another embodiment, it can be implemented with any one or combination of the following techniques well known in the art: having logic gates for implementing logic functions on data signals Discrete logic circuit, application specific integrated circuit with suitable combination logic gate, programmable gate array (PGA), field programmable gate array (FPGA)
  • PGA programmable gate array
  • FPGA field programmable gate array
  • the third data information is derived from the two pieces of data information in the lookup table, so that the capacity of the lookup table is expanded, thereby achieving the reduction of the number.
  • the interpolation original data is rounded, and then the generated random single-bit data is added to the integer part of the original data, thereby preventing the distortion of the sine wave at certain frequency points.
  • the sine wave generating device of the embodiment of the present invention can generate a more abundant and accurate frequency by using a digital circuit with a smaller area.
  • the sine wave, through the sine wave data information generated by the related technology and the present invention, respectively, is simulated by MATLAB, and the generated sine wave has better effects in both the time domain and the frequency domain. From the time domain, the sine wave generated by the sine wave generating device of the embodiment of the present invention is smoother and more regular; from the frequency domain, the sinusoidal wave generating device of the embodiment of the present invention generates a smaller sinusoidal harmonic energy.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Complex Calculations (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

提出一种正弦波生成装置和方法。其中该装置包括:相位累加模块,用于获取正弦波的配置信息,并根据配置信息生成正弦波的地址信息,其中地址信息包括整数地址信息和小数地址信息;査值模块,用于根据整数地址信息査找正弦波的第一和第二数据信息;插值模块,用于根据小数地址信息的位宽在第一和第二数据信息之间进行插值,并根据小数地址信息获取正弦波的插值原始数据信息;随机截位模块,用于根据小数地址信息的位宽和伪随机序列输出值对插值原始数据进行截位处理,以获取正弦波的最终插值数据信息;以及正弦波生成模块,用于生成正弦波的图像信息。实施例的装置,利用面积更小的数字电路,可产生频率更加丰富和精准的正弦波。

Description

说 明 书 正弦波生成装置和方法
技术领域
本发明涉及数字电路技术领域, 尤其涉及一种正弦波生成装置和方法。 背景技术
目前, 数字电路生成正弦波的方法有很多种, 例如, 利用 MATLAB (Matrix Laboratory , 矩阵实验室) 或者其它软件工具生成正弦波。 然而, 目前存在的 问题是, 正弦波的数据信息均存储在査值表中, MATLAB或者其它软件工具生成正 弦波时根据需要将査值表中的数据直接输出, 不能生成除了査值表之外的正弦 波的数据信息。 因此, 现有的方式均存在一定的局限性, 有些方法只能产生特 定频率的正弦波, 或者有些方法在产生不同频率的正弦波时, 需要很大的电路 面积, 且存在正弦波的频率不准确和漂移的现象。 因此, 不仅导致数字电路产 生正弦波的电路功耗和成本高, 而且生成的正弦波在时域和频域的效果均不好。 发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此, 本发明的第一个目的在于提出一种正弦波生成装置, 该装置利用面 积更小的数字电路, 可产生频率更加丰富和精准的正弦波
本发明的第二个目的在于提出一种正弦波生成方法。
为达上述目的, 本发明第一方面实施例提出了一种正弦波生成装置, 包括: 相位累加模块, 用于获取正弦波的配置信息, 并根据所述正弦波的配置信息生 成所述正弦波的地址信息, 其中, 所述正弦波的地址信息包括整数地址信息和 小数地址信息; 査值模块, 用于根据所述整数地址信息査找所述正弦波的第一 数据信息和第二数据信息; 插值模块, 用于根据所述小数地址信息的位宽大小 在所述正弦波的第一数据信息和所述第二数据信息之间进行插值, 并根据所述 小数地址信息获取所述正弦波的插值原始数据信息; 随机截位模块, 用于根据 所述小数地址信息的位宽大小和伪随机序列输出值对所述正弦波的插值原始数 据进行截位处理, 以获取所述正弦波的最终插值数据信息; 以及正弦波生成模 块, 用于根据所述正弦波的最终插值数据信息生成所述正弦波的图像信息。
本发明实施例的正弦波生成装置, 通过采用插值的方法, 根据査值表中的 两个数据信息推算出来第三个数据信息, 因此相当于扩大了査值表的容量, 从 而达到了缩小数字电路的电路面积的目的。 并且通过随机截位的方法, 对插值 原始数据进行取整处理, 然后将生成的随机单比特数据与原始数据的整数部分 相加, 由此, 可以避免正弦波在某些频率点的畸变。 具体而言, 本发明实施例 的正弦波生成装置, 利用面积更小的数字电路, 可产生频率更加丰富和精准的 正弦波, 分别通过对相关技术和本发明生成的正弦波数据信息, 通过 MATLAB仿 真后, 如图 4和图 5所示, 可以明显观察到本发明实施例的正弦波生成装置生 成的正弦波在时域和频域都具有更好的效果。 从时域来看, 本发明实施例的正 弦波生成装置生成的正弦波更为平滑和规则; 从频域来看, 本发明实施例的正 弦波生成装置生成的正弦波谐波能量更小。
为达上述目的, 本发明第二方面实施例提出了一种正弦波生成方法, 包括: 获取正弦波的配置信息, 并根据所述正弦波的配置信息生成所述正弦波的地址 信息, 其中, 所述正弦波的地址信息包括整数地址信息和小数地址信息; 根据 所述整数地址信息査找所述正弦波的第一数据信息和第二数据信息; 根据所述 小数地址信息的位宽大小在所述正弦波的第一数据信息和所述第二数据信息之 间进行插值, 并根据所述小数地址信息获取所述正弦波的插值原始数据信息; 根据所述小数地址信息的位宽大小和伪随机序列输出值对所述正弦波的插值原 始数据进行截位处理, 以获取所述正弦波的最终插值数据信息; 以及根据所述 正弦波的最终插值数据信息生成所述正弦波的图像信息。
本发明实施例的正弦波生成方法, 通过采用插值的方式, 根据査值表中的 两个数据信息推算出来第三个数据信息, 因此相当于扩大了査值表的容量, 从 而达到了缩小数字电路的电路面积的目的。 并且通过随机截位的方法, 对插值 原始数据进行取整处理, 然后将生成的随机单比特数据与原始数据的整数部分 相加, 由此, 可以避免正弦波在某些频率点的畸变。 具体而言, 本发明实施例 的正弦波生成方法, 利用面积更小的数字电路, 可产生频率更加丰富和精准的 正弦波, 分别通过对相关技术和本发明生成的正弦波数据信息, 通过 MATLAB仿 真后, 如图 4和图 5所示, 可以明显观察到根据本发明实施例的正弦波生成方 法生成的正弦波在时域和频域都具有更好的效果。 从时域来看, 根据本发明实 施例的正弦波生成方法生成的正弦波更为平滑和规则; 从频域来看, 根据本发 明实施例的正弦波生成方法生成的正弦波谐波能量更小。 附图说明
图 1是本发明一个实施例的正弦波生成装置的结构示意图;
图 2是本发明一个实施例的随机截位模块 400的结构示意图;
图 3是本发明一个实施例的伪随机序列发生器的结构示意图;
图 4是相关技术和本发明实施例的正弦波生成装置模拟生成正弦波的正 弦波时域波形对比的示意图;
图 5是相关技术和本发明实施例的正弦波生成装置模拟生成正弦波的正 弦波频率普对比的示意图;
图 6是本发明一个实施例的正弦波生成方法的流程图;
图 7是本发明一个具体实施例的正弦波生成方法的流程图;
图 8是本发明另一个具体实施例的正弦波生成方法的流程图; 以及
图 9是本发明再一个具体实施例的正弦波生成方法的流程图。 具体实施方式
下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自 始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。 下面通过参考附图描述的实施例是示例性的, 旨在用于解释本发明, 而不能理 解为对本发明的限制。
在本发明的描述中, 需要理解的是, 术语 "第一"、 "第二"等仅用于描述 目的, 而不能理解为指示或暗示相对重要性。 在本发明的描述中, 需要说明的 是, 除非另有明确的规定和限定, 术语 "相连"、 "连接 "应做广义理解, 例如, 可以是固定连接, 也可以是可拆卸连接, 或一体地连接; 可以是机械连接, 也 可以是电连接; 可以是直接相连, 也可以通过中间媒介间接相连。 对于本领域 的普通技术人员而言, 可以具体情况理解上述术语在本发明中的具体含义。 此 外, 在本发明的描述中, 除非另有说明, "多个" 的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为, 表 示包括一个或更多个用于实现特定逻辑功能或过程的歩骤的可执行指令的代码 的模块、 片段或部分, 并且本发明的优选实施方式的范围包括另外的实现, 其 中可以不按所示出或讨论的顺序, 包括根据所涉及的功能按基本同时的方式或 按相反的顺序, 来执行功能, 这应被本发明的实施例所属技术领域的技术人员 所理解。
目前, 数字电路生成正弦波的方法有很多中, 然而大多数方法均存在一定 的局限性, 不仅导致数字电路产生正弦波的电路功耗和成本高, 而且生成的正 弦波在时域和频域的效果均不好。 如果可以利用插值和随机截位的方法, 可以 实现利用面积比较小的数字电路, 产生频率更加丰富和精准的正弦波。 由此, 不仅可以降低数字电路的电路功耗, 而且可以通过频率更加丰富和精准的正弦 波扩大其自身的应用范围。 为此, 本发明提出了一种正弦波生成装置。 图 1 是 本发明一个实施例的正弦波生成装置的结构示意图。
如图 1所示, 正弦波生成装置包括: 相位累加模块 100、 査值模块 200、 插 值模块 300、 随机截位模块 400、 正弦波生成模块 500和取整模块 600, 其中, 相位累加模块 100包括存储单元 110和计数单元 120,随机截位模块 400包括伪 随机序列生成单元 410。
具体地, 相位累加模块 100 用于获取正弦波的配置信息, 并根据正弦波的 配置信息生成正弦波的地址信息, 其中, 正弦波的地址信息包括整数地址信息 和小数地址信息。
在本发明的实施例中, 相位累加模块 100包括存储单元 110, 存储单元 110 用于存储正弦波的配置信息。 具体而言, 相位累加模块 100可通过正弦波配置 模块接收用户输入的正弦波的配置信息, 其中, 正弦波的配置信息包括正弦波 的初始相位和频率。 换言之, 正弦波配置模块是相位累加模块 100和用户之间 的接口模块, 正弦波配置模块接收的初始相位和频率均随着用户输入的改变而 改变。 相位累加模块 100在获取正弦波的配置信息之后, 可将用户输入的正弦 波的初始相位和频率存储在存储单元 110中。
在本发明的实施例中, 相位累加模块 100 还包括计数单元 120, 计数单元 120用于根据时钟脉冲为相位累加模块 100进行累加计数。具体而言, 计数单元 120的初始值可为正弦波的初始相位, 计数的歩长可为正弦波的频率。计数单元 120的位宽可包含整数部分和小数部分,整数部分的位宽位于计数单元 120位宽 的高位, 而小数部分的位宽位于计数单元 120位宽的低位。
进一歩而言, 相位累加模块 100可通过计数单元 120在外部的时钟脉冲的 作用下进行累加计数, 每一个时钟脉冲计数单元 120都会产生一个新的数据信 息, 而该数据信息就是正弦波的地址信息。 其中, 外部的时钟脉冲可以是用户 根据自身需求而设置的。 换言之, 相位累加模块 100输入的信号为正弦波的配 置信息 (正弦波的初始相位和频率), 输出的信号为正弦波的地址信息, 其中, 地址信息在不为整数时由整数地址信息和小数地址信息两部分组成。
査值模块 200 用于根据整数地址信息査找正弦波的第一数据信息和第二数 据信息。
在本发明的实施例中, 正弦波生成装置还包括取整模块 600, 取整模块 600 用于对正弦波的地址信息进行向下取整处理, 以获取正弦波的整数地址信息。 具体而言, 由于相位累加模块 100获取正弦波的地址信息包括整数地址信息和 小数地址信息, 因此, 可通过取整模块 600, 对相位累加模块 100获取的正弦波 的地址信息进行向下取整, gp, 只保留地址信息的整数部分, 丢弃地址信息的 小数部分。 换言之, 取整模块 600输入的信号为正弦波的地址信息, 输出的信 号为地址信息的整数部分。 例如, 正弦波的地址信息包含 8位整数部分和 3位 小数部分, 取整模块 600对正弦波的地址信息向下取整后值输出 8位整数部分。
具体而言, 査值模块 200可通过相位累加模块 100获取的正弦波地址信息 中的整数地址信息, 在査值表中査找对应的正弦波的数据信息。 换言之, 査值 模块 200输入的信号为整数地址信息, 输出的信号为正弦波的第一数据信息和 第二数据信息。 其中, 在査值表中可存储通过采样获取的正弦波的一个周期的 数据信息, 该数据信息可固化到电路中, 或者可由用户动态配置。 此外, 在査 值表中每个正弦波的地址信息均对应一个数据信息, 査值模块 200只能接收正 弦波的地址信息中的整数地址信息。 因此, 当相位累加模块 100输出的正弦波 的地址信息包括小数部分时, 首先需要取整模块 600对正弦波的地址信息进行 向下取整, 将得到整数地址信息输出给査值模块 200。 然后, 査值模块 200根据 输入的整数地址信息在査值表中进行査值, 输出该整数地址信息对应的第一数 据信息, 同时输出和该第一数据信息在査值表中相邻的下一个数据信息, 即第 二数据信息。 进一歩而言, 査值模块 200根据整数地址信息输出的数据信息应 当是第一数据信息, 第二数据信息是为插值而输出的额外的数据信息。
在本发明的实施例中, 在査值模块 200 中存储第一査值表和第二査值表, 其中, 査值模块 200还包括随机存取存储器或只读存储器, 第一査值表和第二 査值表存储在随机存储器或只读存储器中。 第一査值表存储整数地址信息中奇 数地址信息 /偶数地址信息对应的正弦波的数据信息中的一个, 第二査值表存储 整数地址信息中奇数地址信息 /偶数地址信息对应的正弦波的数据信息中的另 一个。 具体而言, 査值表的深度和相位累加模块 100输出的正弦波的地址信息 中的整数地址信息的位宽相关联, 例如, 如果整数地址信息的位宽为 8位, 则 査值表的深度为 28 = 256。 应当理解的是, 査值表的位宽没有固定的限制, 査 值表的位宽越大, 査值表的精度就越高, 一般来说, 査值表的位宽与査值表中 通过采样获取的正弦波的一个周期的数据信息的位宽相同。
此外, 相对而言, 査值表的位宽越大, 査值表的面积就越大。 因此, 査值 模块 200可将査值表分为两个深度和位宽均相同的子査值表, 即第一査值表和 第二査值表。 例如, 如果査值表的深度为 256, 则第一査值表和第二査值表的深 度均为 256/2=128。在第一査值表和第二査值表中交叉存储正弦波的一个周期的 数据信息, 例如, 第一査值表存储奇数整数地址对应的正弦波的数据信息, 第 二査值表存储偶数整数地址对应的正弦波的数据信息; 或者第一査值表存储偶 数整数地址对应的正弦波的数据信息, 第二査值表存储奇数整数地址对应的正 弦波的数据信息。
在本发明的实施例中, 査值模块 200 还用于根据整数地址信息在第一査值 表 /第二査值表中进行査值以获取整数地址信息对应的第一数据信息, 并根据与 整数地址信息相邻的下一个整数地址信息在第二査值表中差值以获取下一个整 数地址信息对应的第二数据信息。 由此, 在査值模块 200接收到取整模块 600 输出的整数地址信息之后, 査值模块 200可同时输出两个数据信息, 并且这两 个数据信息在正弦波的采样数据中是相邻的。
插值模块 300 用于根据小数地址信息的位宽大小在正弦波的第一数据信息 和第二数据信息之间进行插值, 并根据所述小数地址信息获取正弦波的插值原 始数据信息。 具体而言, 插值模块 300可根据第一数据信息、 第二数据信息和 小数地址信息计算出第一数据信息和第二数据信息之间的多个插值数据信息, 然后插值模块 300根据小数地址信息, 在第一数据信息、 第二数据信息以及多 个插值数据信息中选出一个需要的数据信息, 作为正弦波的插值原始数据信息。 例如, 假设第一数据信息为 vm, 第二数据信息为 vp, 正弦波的地址信息中的小 数地址信息为 fa,第一数据信息和第二数据信息的差值为 vd,其中, vd = vp - vm。 假设小数地址信息 的位宽为 3位, 则査值模块 300可计算出插值原始数据有 23 = 8种可能, gp, 在第一数据信息 ν„^Π第二数据信息 vp之间可插入 7个插值 点。 这 7个插值点均匀分布在第一数据信息 vm和第二数据信息 之间, 且这 7 个插值点的值分别为 vm + vd/8、 vm + 2vd/8、 vm + 3vd/8、 vm + 4vd/8、 vm + 5vd/8、 vm + 6vd/8、 vm + 7vd/8。 然后, 根据小数地址信息 fa的值在第一 数据信息为 vm和插入的 7个点之间挑选出来一个值,具体对应关系如表 1所示,
Figure imgf000009_0001
表 1为小数地址信息^和插值原始数据对应关系的示意图 其中, 符号 "<<"代表向左移位操作, 举例而言, 当小数地址信息 fa为' Ό01" 时, 相当于査值模块 200挑选了第一数据信息为 vm和第二数据信息为 vp之间的 第一个插值点, 该插值点的值为 vm + vd/8, 即 (8vm + vd ) /8, 也就是 ( vm《 3 + vd ) /8, 其中, (vm《 3 + vd ) 为插值原始数据信息。
应当理解的是, 计数单元 120 的位宽中整数部分的位宽是由査值表的深度 决定的, 査值表的深度越大, 整数部分的位宽就越大。 计数单元 120 的位宽中 小数部分的位宽是由插值的精度决定的, 需要插值的精度越高, 小数部分的位 宽应当越大。 举例而言, 如果査值表的深度为 256, 则记数单元 120的位宽中整 数部分的位宽应为 8位。 在插值模块 300插值时, 如果需要在每两个点 (即第 一数据信息和第二数据信息) 之间插入 7个点, 则记数单元 120的位宽中小数 部分的位宽应为 3位。 因此, 记数单元 120的位宽应为 8+3=11位, 其中, 高位 的 8位为整数部分, 低位的 3位为小数部分。
随机截位模块 400用于根据小数地址信息的位宽大小和伪随机序列输出值 对正弦波的插值原始数据进行截位处理, 以获取正弦波的最终插值数据信息。 具体而言, 随机截位模块 400可对插值原始数据进行除以 8操作, 进一歩而言, 在数字电路中可直接对插值原始数据向右移 3位来实现除以 8操作。 然而, 由 于插值原始数据未必均能被 8整除, 因此, 在本发明的实施例中, 随机截位模 块 400还采用随机截位的方法对插值原始数据除以 8后的数据进行取整处理。 图 2是本发明一个实施例的随机截位模块 400的结构示意图, 如图 2所示, 随机截位模块 400的内部结构中, Bit[2]代表插值原始数据的第三位, 即被丢弃 的最高位, r为伪随机序列输出值, 该伪随机序列输出值的位宽为 1位。 假设插 值原始数据为 V, 则最终插值数据信息为 V » 3 + r , 其中, 符号 " >〉"是向右移 位操作, "v >〉 3 "表示将插值原始数据 V向右移 3位, 相当于插值原始数据除 以 8 。
在本发明的实施例中, 随机截位模块 400包括伪随机序列生成单元 410, 伪 随机序列生成单元 410用于按照预设的位宽输出伪随机序列输出值。 进一歩而 言, 伪随机序列生成单元 410可为例如伪随机序列发生器, 伪随机序列输出值 r 可通过伪随机序列发生器输出,该伪随机序列发生器可以根据 Bit[2]经过内部运 算输出伪随机序列输出值 r。 图 3是本发明一个实施例的伪随机序列生成单元 410的结构示意图, 如图 3所示, 在伪随机序列生成单元 410的内部电路结构 中, 伪随机序列发生器的位宽为 8位, 其初始化的值和 Bit[2]相关联, 具体设置 可以根据应用场景不同而设置为不同的值。 符号 "<<"代表向左移位操作, 当 随机序列发生器生成一个伪随机序列输出值 r后,整个伪随机序列发生器向左移 一位, 最低位用高三位的 "或"运算结果来填充。
正弦波生成模块 500 用于根据正弦波的最终插值数据信息生成正弦波的图 像信息。
本发明实施例的正弦波生成装置, 通过采用插值的方法, 根据査值表中的 两个数据信息推算出来第三个数据信息, 因此相当于扩大了査值表的容量, 从 而达到了缩小数字电路的电路面积的目的。 并且通过随机截位的方法, 对插值 原始数据进行取整处理, 然后将生成的随机单比特数据与原始数据的整数部分 相加, 由此, 可以避免正弦波在某些频率点的畸变。 具体而言, 本发明实施例 的正弦波生成装置, 利用面积更小的数字电路, 可产生频率更加丰富和精准的 正弦波, 分别通过对相关技术和本发明生成的正弦波数据信息, 通过 MATLAB仿 真后, 如图 4和图 5所示, 可以明显观察到本发明实施例的正弦波生成装置生 成的正弦波在时域和频域都具有更好的效果。 从时域来看, 本发明实施例的正 弦波生成装置生成的正弦波更为平滑和规则; 从频域来看, 本发明实施例的正 弦波生成装置生成的正弦波谐波能量更小。
为了实现上述实施例, 本发明还提出一种正弦波生成方法。
图 6是本发明一个实施例的正弦波生成方法的流程图, 图 7是本发明一个 具体实施例的正弦波生成方法的流程图。 如图 6和 7所示, 正弦波生成方法包括:
511 , 获取正弦波的配置信息, 并根据正弦波的配置信息生成正弦波的地址 信息, 其中, 正弦波的地址信息包括整数地址信息和小数地址信息。
512 , 根据整数地址信息査找正弦波的第一数据信息和第二数据信息。
具体地, 可通过获取的正弦波地址信息中的整数地址信息, 在査值表中査 找对应的正弦波的数据信息。 其中, 在査值表中可存储通过采样获取的正弦波 的一个周期的数据信息, 该数据信息可固化到电路中, 或者可由用户动态配置。 此外当正弦波的地址信息包括小数部分时, 首先需要得到整数地址信息, 然后 根据整数地址信息在査值表中进行査值, 输出该整数地址信息对应的第一数据 信息, 同时输出和该第一数据信息在査值表中相邻的下一个数据信息, 即第二 数据信息。 进一歩而言, 根据整数地址信息输出的数据信息应当是第一数据信 息, 第二数据信息是为插值而输出的额外的数据信息。
在本发明的实施例中, S12具体包括:
5121 , 获取第一査值表和第二査值表。
具体地, 第一査值表和第二査值表存储在随机存储器或只读存储器中。 第 一査值表存储整数地址信息中奇数地址信息 /偶数地址信息对应的正弦波的数 据信息中的一个, 第二査值表存储整数地址信息中奇数地址信息 /偶数地址信息 对应的正弦波的数据信息中的另一个。 更具体地, 査值表的深度和正弦波的地 址信息中的整数地址信息的位宽相关联, 例如, 如果整数地址信息的位宽为 8 位, 则査值表的深度为 28 = 256。 应当理解的是, 査值表的位宽没有固定的限 制, 査值表的位宽越大, 査值表的精度就越高, 一般来说, 査值表的位宽与査 值表中通过采样获取的正弦波的一个周期的数据信息的位宽相同。
此外, 相对而言, 査值表的位宽越大, 査值表的面积就越大。 因此, 可将 査值表分为两个深度和位宽均相同的子査值表, 即第一査值表和第二査值表。 例如, 如果査值表的深度为 256, 则第一査值表和第二査值表的深度均为 256/2=128。 在第一査值表和第二査值表中交叉存储正弦波的一个周期的数据信 息, 例如, 第一査值表存储奇数整数地址对应的正弦波的数据信息, 第二査值 表存储偶数整数地址对应的正弦波的数据信息; 或者第一査值表存储偶数整数 地址对应的正弦波的数据信息, 第二査值表存储奇数整数地址对应的正弦波的 数据信息。
5122 , 根据整数地址信息在第一査值表 /第二査值表中进行査值以获取整数 地址信息对应的第一数据信息, 并根据与整数地址信息相邻的下一个整数地址 信息在第二査值表中差值以获取下一个整数地址信息对应的第二数据信息。
S 13 , 根据小数地址信息的位宽大小在正弦波的第一数据信息和第二数据信 息之间进行插值, 并根据小数地址信息获取正弦波的插值原始数据信息。
具体地, 可根据第一数据信息、 第二数据信息和小数地址信息计算出第一 数据信息和第二数据信息之间的多个插值数据信息, 然后插值模块 300根据小 数地址信息, 在第一数据信息、 第二数据信息以及多个插值数据信息中选出一 个需要的数据信息, 作为正弦波的插值原始数据信息。 例如, 假设第一数据信 息为 vm, 第二数据信息为 vp, 正弦波的地址信息中的小数地址信息为 fa,第一数 据信息和第二数据信息的差值为 vd,其中, vd = vp - vm。假设小数地址信息 的 位宽为 3位,则可计算出插值原始数据有 23 = 8种可能,即,在第一数据信息 ^和 第二数据信息 vp之间可插入 7个插值点。 这 7个插值点均匀分布在第一数据信 息 νη^Π第二数据信息 vp之间, 且这 7 个插值点的值分别为 vm + vd/8、 vm + 2vd/8、vm + 3vd/8、vm + 4vd/8、vm + 5vd/8、vm + 6vd/8、vm + 7vd/8。然 后, 根据小数地址信息 ^的值在第一数据信息为 ν„^Π插入的 7 个点之间挑选出 来一个值, 具体对应关系如表 1所示,
Figure imgf000012_0001
表 1为小数地址信息^和插值原始数据对应关系的示意图 其中, 符号 "<<"代表向左移位操作, 举例而言, 当小数地址信息 fa为' Ό01" 时,相当于挑选了第一数据信息为 „1和第二数据信息为 Vp之间的第一个插值点, 该插值点的值为 vm + vd/8, g卩 (8vm + vd ) /8, 也就是 (vm《3 + vd ) /8, 其 中, (vm « 3 + vd ) 为插值原始数据信息。
S 14, 根据小数地址信息的位宽大小和伪随机序列输出值对正弦波的插值原 始数据进行截位处理, 以获取正弦波的最终插值数据信息。
具体地, 可对插值原始数据进行除以 8 操作, 进一歩而言, 在数字电路中 可直接对插值原始数据向右移 3位来实现除以 8操作。 然而, 由于插值原始数 据未必均能被 8整除, 因此, 在本发明的实施例中, 还采用随机截位的方法对 插值原始数据除以 8后的数据进行取整处理。
S 15 , 根据正弦波的最终插值数据信息生成正弦波的图像信息。
本发明实施例的正弦波生成方法, 通过采用插值的方式, 根据査值表中的 两个数据信息推算出来第三个数据信息, 因此相当于扩大了査值表的容量, 从 而达到了缩小数字电路的电路面积的目的。 并且通过随机截位的方法, 对插值 原始数据进行取整处理, 然后将生成的随机单比特数据与原始数据的整数部分 相加, 由此, 可以避免正弦波在某些频率点的畸变。 具体而言, 本发明实施例 的正弦波生成方法, 利用面积更小的数字电路, 可产生频率更加丰富和精准的 正弦波, 分别通过对相关技术和本发明生成的正弦波数据信息, 通过 MATLAB仿 真后, 如图 4和图 5所示, 可以明显观察到根据本发明实施例的正弦波生成方 法生成的正弦波在时域和频域都具有更好的效果。 从时域来看, 根据本发明实 施例的正弦波生成方法生成的正弦波更为平滑和规则; 从频域来看, 根据本发 明实施例的正弦波生成方法生成的正弦波谐波能量更小。
图 8是本发明另一个具体实施例的正弦波生成方法的流程图。
如图 8所示, 正弦波生成方法包括:
521 , 获取正弦波的配置信息, 并根据正弦波的配置信息生成正弦波的地址 信息, 其中, 正弦波的地址信息包括整数地址信息和小数地址信息。
522 , 对正弦波的地址信息进行向下取整处理, 以获取正弦波的整数地址信 息。
具体而言, 由于获取正弦波的地址信息包括整数地址信息和小数地址信息, 因此, 可对获取的正弦波的地址信息进行向下取整, gp, 只保留地址信息的整 数部分, 丢弃地址信息的小数部分。 例如, 正弦波的地址信息包含 8位整数部 分和 3位小数部分, 则对正弦波的地址信息向下取整后值输出 8位整数部分。
523 , 根据整数地址信息査找正弦波的第一数据信息和第二数据信息。
524, 根据小数地址信息的位宽大小在正弦波的第一数据信息和第二数据信 息之间进行插值, 并根据小数地址信息获取正弦波的插值原始数据信息。
525 , 按照预设的位宽输出伪随机序列输出值。 具体地, 伪随机序列输出值可通过伪随机序列发生器输出, 该伪随机序列 发生器可以根据 Bit[2]经过内部运算输出伪随机序列输出值。如图 3所示,伪随 机序列发生器的位宽为 8位, 其初始化的值和 Bit[2]相关联, 具体设置可以根据 应用场景不同而设置为不同的值。 符号 "<<"代表向左移位操作, 当随机序列 发生器生成一个伪随机序列输出值 r后,整个伪随机序列发生器向左移一位, 最 低位用高三位的 "或"运算结果来填充。
526, 根据小数地址信息的位宽大小和伪随机序列输出值对正弦波的插值原 始数据进行截位处理, 以获取正弦波的最终插值数据信息。
527, 根据正弦波的最终插值数据信息生成正弦波的图像信息。
本发明实施例的正弦波生成方法, 由于只能根据正弦波的地址信息中的整 数地址信息査找正弦波的第一数据信息和第二数据信息, 因此, 可通过对正弦 波的地址信息进行向下取整处理, 获取正弦波的整数地址信息。
图 9是本发明再一个具体实施例的正弦波生成方法的流程图。
如图 9所示, 正弦波生成方法包括:
531 , 获取正弦波的配置信息。
532 , 存储正弦波的配置信息。
具体地, 可接收用户输入的正弦波的配置信息, 其中, 正弦波的配置信息 包括正弦波的初始相位和频率。 接收的初始相位和频率均随着用户输入的改变 而改变。 在获取正弦波的配置信息之后, 可将用户输入的正弦波的初始相位和 频率进行存储。
533 , 根据正弦波的配置信息生成正弦波的地址信息, 其中, 正弦波的地址 信息包括整数地址信息和小数地址信息。
在本发明的实施例中, 根据时钟脉冲进行累加计数。 进一歩而言, 可在外 部的时钟脉冲的作用下进行累加计数, 每一个时钟脉冲都会产生一个新的数据 信息, 而该数据信息就是正弦波的地址信息。 其中, 外部的时钟脉冲可以是用 户根据自身需求而设置的。 S34, 对正弦波的地址信息进行向下取整处理, 以获 取正弦波的整数地址信息。
535 , 根据整数地址信息査找正弦波的第一数据信息和第二数据信息。
536, 根据小数地址信息的位宽大小在正弦波的第一数据信息和第二数据信 息之间进行插值, 并根据小数地址信息获取正弦波的插值原始数据信息。
537, 按照预设的位宽输出伪随机序列输出值。 S38, 根据小数地址信息的位宽大小和伪随机序列输出值对正弦波的插值原 始数据进行截位处理, 以获取正弦波的最终插值数据信息。
S39 , 根据正弦波的最终插值数据信息生成正弦波的图像信息。
本发明实施例的正弦波生成方法, 可通过存储正弦波的初始相位和频率, 可根据正弦波的初始相位和频率生成时钟脉冲。
应当理解, 本发明的各部分可以用硬件、软件、 固件或它们的组合来实现。 在上述实施方式中, 多个歩骤或方法可以用存储在存储器中且由合适的指令执 行系统执行的软件或固件来实现。 例如, 如果用硬件来实现, 和在另一实施方 式中一样, 可用本领域公知的下列技术中的任一项或他们的组合来实现: 具有 用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路, 具有合适的组合 逻辑门电路的专用集成电路, 可编程门阵列(PGA ) , 现场可编程门阵列(FPGA ) 在本说明书的描述中, 参考术语 "一个实施例"、 "一些实施例"、 "示例"、 "具体示例"、 或 "一些示例"等的描述意指结合该实施例或示例描述的具体特 征、 结构、 材料或者特点包含于本发明的至少一个实施例或示例中。 在本说明 书中, 对上述术语的示意性表述不必须针对的是相同的实施例或示例。 而且, 描述的具体特征、 结构、 材料或者特点可以在任一个或多个实施例或示例中以 合适的方式结合。 此外, 在不相互矛盾的情况下, 本领域的技术人员可以将本 说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组 合。
尽管上面已经示出和描述了本发明的实施例, 可以理解的是, 上述实施例 是示例性的, 不能理解为对本发明的限制, 本领域的普通技术人员在本发明的 范围内可以对上述实施例进行变化、 修改、 替换和变型。 工业实用性
本发明的正弦波生成装置和方法, 通过采用插值的方法, 根据査值表中的 两个数据信息推算出来第三个数据信息, 因此相当于扩大了査值表的容量, 从 而达到了缩小数字电路的电路面积的目的。 并且通过随机截位的方法, 对插值 原始数据进行取整处理, 然后将生成的随机单比特数据与原始数据的整数部分 相加, 由此, 可以避免正弦波在某些频率点的畸变。 具体而言, 本发明实施例 的正弦波生成装置, 利用面积更小的数字电路, 可产生频率更加丰富和精准的 正弦波, 分别通过对相关技术和本发明生成的正弦波数据信息, 通过 MATLAB仿 真后, 生成的正弦波在时域和频域都具有更好的效果。 从时域来看, 本发明实 施例的正弦波生成装置生成的正弦波更为平滑和规则; 从频域来看, 本发明实 施例的正弦波生成装置生成的正弦波谐波能量更小。

Claims

权 利 要 求 书
1、 一种正弦波生成装置, 包括:
相位累加模块, 用于获取正弦波的配置信息, 并根据所述正弦波的配置信 息生成所述正弦波的地址信息, 其中,所述正弦波的地址信息包括整数地址信 息和小数地址信息;
査值模块,用于根据所述整数地址信息査找所述正弦波的第一数据信息和 第二数据信息;
插值模块,用于根据所述小数地址信息的位宽大小在所述正弦波的第一数 据信息和所述第二数据信息之间进行插值, 并根据所述小数地址信息获取所 述正弦波的插值原始数据信息;
随机截位模块,用于根据所述小数地址信息的位宽大小和伪随机序列输出 值对所述正弦波的插值原始数据进行截位处理,以获取所述正弦波的最终插值 数据信息; 以及
正弦波生成模块,用于根据所述正弦波的最终插值数据信息生成所述正弦 波的图像信息。
2、 根据权利要求 1所述的正弦波生成装置, 其中, 所述査值模块中存储 第一査值表和第二査值表,所述第一査值表存储所述整数地址信息中奇数地址 信息 /偶数地址信息对应的所述正弦波的数据信息中的一个, 所述第二査值表 存储所述整数地址信息中奇数地址信息 /偶数地址信息对应的所述正弦波的数 据信息中的另一个。
3、 根据权利要求 2所述的正弦波生成装置, 其中, 所述査值模块包括随 机存取存储器或只读存储器,所述第一査值表和第二査值表存储在所述随机存 储器或只读存储器中。
4、 根据权利要求 3所述的正弦波生成装置, 其中, 所述査值模块还用于 根据所述整数地址信息在所述第一査值表 /所述第二査值表中进行査值以获取 所述整数地址信息对应的所述第一数据信息,并根据与所述整数地址信息相邻 的下一个整数地址信息在所述第二査值表中差值以获取所述下一个整数地址 信息对应的所述第二数据信息。
5、 根据权利要求 1所述的正弦波生成装置, 其中, 还包括: 取整模块, 用于对所述正弦波的地址信息进行向下取整处理, 以获取所述 正弦波的整数地址信息。
6、 根据权利要求 1所述的正弦波生成装置, 其中, 所述相位累加模块包 括:
存储单元, 用于存储所述正弦波的配置信息, 其中, 所述正弦波的配置信 息包括所述正弦波的初始相位和频率。
7、 根据权利要求 6所述的正弦波生成装置, 其中, 所述相位累加模块还 包括:
计数单元, 用于根据时钟脉冲为所述相位累加模块进行累加计数。
8、 根据权利要求 1所述的正弦波生成装置, 其中, 所述随机截位模块包 括:
伪随机序列生成单元, 用于按照预设的位宽输出所述伪随机序列输出值。
9、 一种正弦波生成方法, 包括:
获取正弦波的配置信息,并根据所述正弦波的配置信息生成所述正弦波的 地址信息, 其中, 所述正弦波的地址信息包括整数地址信息和小数地址信息; 根据所述整数地址信息査找所述正弦波的第一数据信息和第二数据信息; 根据所述小数地址信息的位宽大小在所述正弦波的第一数据信息和所述 第二数据信息之间进行插值,并根据所述小数地址信息获取所述正弦波的插值 原始数据信息;
根据所述小数地址信息的位宽大小和伪随机序列输出值对所述正弦波的 插值原始数据进行截位处理, 以获取所述正弦波的最终插值数据信息; 以及 根据所述正弦波的最终插值数据信息生成所述正弦波的图像信息。
10、 根据权利要求 9所述的正弦波生成方法, 其中, 所述根据整数地址信 息査找所述正弦波的第一数据信息和第二数据信息具体包括:
获取第一査值表和第二査值表; 以及
根据所述整数地址信息在所述第一査值表 /所述第二査值表中进行査值以 获取所述整数地址信息对应的所述第一数据信息,并根据与所述整数地址信息 相邻的下一个整数地址信息在所述第二査值表中差值以获取所述下一个整数 地址信息对应的所述第二数据信息。
11、 根据权利要求 10所述的正弦波生成方法, 其中, 所述第一査值表存 储所述整数地址信息中奇数地址信息 /偶数地址信息对应的所述正弦波的数据 信息中的一个, 所述第二査值表存储所述整数地址信息中奇数地址信息 /偶数 地址信息对应的所述正弦波的数据信息中的另一个。
12、 根据权利要求 11所述的正弦波生成方法, 其中, 所述第一査值表和 第二査值表存储在随机存储器或只读存储器中。
13、 根据权利要求 9所述的正弦波生成方法, 其中, 在所述根据正弦波的 配置信息生成所述正弦波的地址信息之后, 还包括:
对所述正弦波的地址信息进行向下取整处理,以获取所述正弦波的整数地 址信息。
14、 根据权利要求 9所述的正弦波生成方法, 其中, 在所述获取正弦波的 配置信息之后, 还包括:
存储所述正弦波的配置信息, 其中, 所述正弦波的配置信息包括所述正弦 波的初始相位和频率。
15、 根据权利要求 14所述的正弦波生成方法, 其中, 在所述根据正弦波 的配置信息生成所述正弦波的地址信息之前, 还包括:
根据时钟脉冲进行累加计数。
16、 根据权利要求 9所述的正弦波生成方法, 其中, 在所述根据所述小数 地址信息的位宽大小和伪随机序列输出值对所述正弦波的多个插值原始数据 进行截位处理之前, 还包括:
按照预设的位宽输出所述伪随机序列输出值。
PCT/CN2014/084421 2014-02-13 2014-08-14 正弦波生成装置和方法 WO2015120706A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP14882585.4A EP3082255B1 (en) 2014-02-13 2014-08-14 Device and method for generating sine wave
KR1020167018346A KR101901502B1 (ko) 2014-02-13 2014-08-14 정현파 생성 장치 및 방법
US15/230,484 US10013018B2 (en) 2014-02-13 2016-08-08 Sine wave generating apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410050499.7 2014-02-13
CN201410050499.7A CN103795345B (zh) 2014-02-13 2014-02-13 正弦波生成装置和方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/230,484 Continuation US10013018B2 (en) 2014-02-13 2016-08-08 Sine wave generating apparatus and method

Publications (1)

Publication Number Publication Date
WO2015120706A1 true WO2015120706A1 (zh) 2015-08-20

Family

ID=50670730

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/084421 WO2015120706A1 (zh) 2014-02-13 2014-08-14 正弦波生成装置和方法

Country Status (5)

Country Link
US (1) US10013018B2 (zh)
EP (1) EP3082255B1 (zh)
KR (1) KR101901502B1 (zh)
CN (1) CN103795345B (zh)
WO (1) WO2015120706A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795345B (zh) * 2014-02-13 2016-08-17 深圳市汇顶科技股份有限公司 正弦波生成装置和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347678A (ja) * 1999-06-08 2000-12-15 Nec Corp トーン発生回路
CN1433152A (zh) * 2002-01-18 2003-07-30 诺基亚有限公司 具有正弦波发生器的小数分频合成器
CN101777872A (zh) * 2009-12-15 2010-07-14 天水华天微电子股份有限公司 三相正弦波发生电路
CN102253254A (zh) * 2011-04-18 2011-11-23 中国航空工业集团公司北京长城计量测试技术研究所 一种多路正弦波相位标准信号的产生装置及方法
US20130181753A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated High Accuracy Sin-Cos Wave and Frequency Generators, and Related Systems and Methods
CN103795345A (zh) * 2014-02-13 2014-05-14 深圳市汇顶科技股份有限公司 正弦波生成装置和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199192B1 (en) * 1985-04-12 1995-09-13 Yamaha Corporation Tone signal generation device
US5014231A (en) * 1987-11-23 1991-05-07 Hughes Aircraft Company Randomized digital/analog converter direct digital synthesizer
US5563535A (en) * 1994-11-29 1996-10-08 Microunity Systems Engineering, Inc. Direct digital frequency synthesizer using sigma-delta techniques
DE69535233D1 (de) * 1995-12-26 2006-11-02 Lsi Logic Corp Rauschverminderung in digitalen Frequenzsynthetisierern
US5799265A (en) * 1996-11-26 1998-08-25 Sun Microsystems, Inc. Apparatus and method for generating a sinusoidal signal
US5951625A (en) * 1997-06-30 1999-09-14 Truevision, Inc. Interpolated lookup table circuit
US6356124B1 (en) * 2000-06-26 2002-03-12 Conexant Systems, Inc. Method and apparatus for generating a digital sine wave signal
US7064616B2 (en) * 2003-12-29 2006-06-20 Teradyne, Inc. Multi-stage numeric counter oscillator
US7599977B2 (en) * 2005-08-16 2009-10-06 Reveal Imaging, Llc Direct digital synthesizer system and related methods
US7953782B2 (en) * 2007-05-18 2011-05-31 Ess Technology, Inc. Digital forced oscillation by direct digital synthesis
US8392492B2 (en) * 2009-01-19 2013-03-05 Himax Media Solutions, Inc. Sine/cosine value generation apparatus
US9304971B2 (en) * 2013-06-27 2016-04-05 International Business Machines Corporation Lookup table sharing for memory-based computing
KR20150070591A (ko) * 2013-12-17 2015-06-25 삼성전기주식회사 정현파 생성 장치 및 방법, 그를 이용한 피에조 엑츄에이터 구동 시스템
KR20150071267A (ko) * 2013-12-18 2015-06-26 삼성전기주식회사 정현파 생성 장치 및 방법, 그를 이용한 피에조 액츄에이터 구동 시스템
US9438250B2 (en) * 2014-09-11 2016-09-06 Hughes Network Systems, Llc Variable rate interpolation with numerically controlled oscillator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000347678A (ja) * 1999-06-08 2000-12-15 Nec Corp トーン発生回路
CN1433152A (zh) * 2002-01-18 2003-07-30 诺基亚有限公司 具有正弦波发生器的小数分频合成器
CN101777872A (zh) * 2009-12-15 2010-07-14 天水华天微电子股份有限公司 三相正弦波发生电路
CN102253254A (zh) * 2011-04-18 2011-11-23 中国航空工业集团公司北京长城计量测试技术研究所 一种多路正弦波相位标准信号的产生装置及方法
US20130181753A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated High Accuracy Sin-Cos Wave and Frequency Generators, and Related Systems and Methods
CN103795345A (zh) * 2014-02-13 2014-05-14 深圳市汇顶科技股份有限公司 正弦波生成装置和方法

Also Published As

Publication number Publication date
US20160342174A1 (en) 2016-11-24
CN103795345B (zh) 2016-08-17
US10013018B2 (en) 2018-07-03
EP3082255A4 (en) 2017-09-20
KR20160097292A (ko) 2016-08-17
EP3082255A1 (en) 2016-10-19
EP3082255B1 (en) 2020-06-03
KR101901502B1 (ko) 2018-09-21
CN103795345A (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
US9735787B2 (en) Frequency synthesizer with dynamic phase and pulse-width control
CN102375722B (zh) 一种真随机数生成方法及发生器
US9124244B2 (en) Method and device for generating a filter coefficient in real time
JP2009544040A5 (zh)
EP2020629B1 (en) Flexible waveform generator with extended range capability
US20150049799A1 (en) Digital pulse width generator and method for generating digital pulse width
WO2015120706A1 (zh) 正弦波生成装置和方法
WO2023134507A1 (zh) 随机计算方法、电路、芯片及设备
JP2006157849A (ja) 分周回路及びそれを具備した半導体集積回路
JP6903543B2 (ja) Abz相の分周装置
CN107943204B (zh) 数字频率合成方法以及装置
US20100201409A1 (en) Frequency Divider Circuit
JP2015026341A5 (zh)
CN104135286A (zh) 数字频率合成器及其数字频率合成方法
CN111143263B (zh) 信号延时校准方法、系统及电子设备
JP2004509499A (ja) デュアルエッジm/nカウンタ
US20150097708A1 (en) Device and method for converting data rate
RU2008137837A (ru) Цифровой фазоразностный манипулятор
CN104980127B (zh) 一种具有求和调制功能的信号发生器
JP2010199725A (ja) データ送信装置及び半導体試験装置
JP2007202151A (ja) ビット長のカウンタを備えた非同期式シリアルデータ伝送用の集積回路
EP2391007A2 (en) Division circuit, division device, and electronic apparatus
JP2018074482A (ja) 波形生成回路等
US7084687B2 (en) Phase swallow device and signal generator using the same
JP2018046418A (ja) クロック再生回路

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14882585

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20167018346

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014882585

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014882585

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE