Device and method for performing non-iterative singular value decomposition
By designing a non-iterative singular value decomposition method and device in wireless communication systems, the problems of complexity and inefficiency of high-dimensional channel matrix in the prior art are solved, and efficient singular value decomposition and beamforming applications are realized.
Patent Information
- Application Number
- CN201910628427.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-04-30
- Filing Date
- 2019-07-12
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2039-07-12
AI Technical Summary
In wireless communication systems, when performing singular value decomposition (SVD), especially in beamforming applications, it is difficult for the prior art to effectively process channel matrices with dimensions greater than 2, and iterative processes may be required, resulting in processing complexity and inefficiency.
By designing a non-iterative singular value decomposition method and device in a wireless communication system, the receiver, channel matrix generator and singular value decomposition device are used to reduce the dimension of the channel matrix, and when the dimension is less than or equal to 2 or determine the two outputs the result when the maximum singular value is.
It realizes efficient non-iteration singular value decomposition in wireless communication systems, simplifies the processing flow, and improves computing efficiency. Especially in beamforming applications, it can effectively process multidimensional channel matrix.
Smart Images

Figure CN111698013B_ABST
Abstract
Description
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS]
[0002] This application claims priority to U.S. Patent Application No. 16 / 399,298 filed in the United States Patent and Trademark Office (USPTO) on April 30, 2019, and is a partial continuation application that claims priority to U.S. Provisional Patent Application No. 62 / 819,172 filed in the United States Patent and Trademark Office on March 15, 2019, the entire contents of each of which are incorporated into this application by reference. Technical Field
[0003] The present disclosure generally relates to an apparatus and method for performing non-iterative singular-value decomposition (SVD), and more particularly, to an apparatus and method for non-iterative singular-value decomposition for beamforming. Background Art
[0004] The beamforming feedback block provides the medium access controller (MAC) with the compressed beamforming matrix and signal-to-noise-ratio (SNR) estimates for specific data subcarriers / groups of subcarriers required to support beamforming feedback as specified in the Institute for Electrical and Electronics Engineers (IEEE) standards (which include the IEEE 802.11n standard, the IEEE 802.11ac standard, and the IEEE 802.11ax standard) for both single-user multiple-input-multiple-output (SU-MIMO) and multi-user MIMO (MU-MIMO). After a Givens rotation (i.e., a rotation in the plane spanned by two coordinate axes) or a Householder transformation (i.e., a linear transformation that describes reflection about a plane or hyperplane containing the origin), min(N) is required. tx ,N rx )×min(N tx ,N rx) singular value decomposition (SVD) operation to obtain the compressed beamforming matrix, where min() is a function that returns the minimum value of the coefficients involved, N tx is the number of transmit antennas, and N rx is the number of receive antennas. When the dimension of the SVD is greater than 2, processing becomes challenging and may require an iterative process. Summary of the invention
[0005] According to an embodiment, a method for performing non-iterative singular value decomposition in a wireless communication system is provided. The method includes: receiving a signal by a receiver; determining a channel matrix for the received signal by a channel matrix generator connected to the receiver; reducing the dimension of the channel matrix by a singular value decomposer connected to the channel matrix generator; performing singular value decomposition on the channel matrix with reduced dimension by the singular value decomposer to determine singular vectors and corresponding coefficients that maximize the singular values of the singular vectors; and outputting the result of the singular value decomposition based on at least one of the following: when the dimension of the channel matrix with reduced dimension is less than or equal to 2, and when the two maximum singular values of the corresponding singular vectors are determined.
[0006] According to an embodiment, a device for performing non-iterative singular value decomposition in a wireless communication system is provided. The device includes: a receiver configured to receive a signal; a channel matrix generator connected to the receiver and configured to determine a channel matrix for the received signal; and a singular value decomposer connected to the channel matrix generator and configured to reduce the dimension of the channel matrix; perform singular value decomposition on the channel matrix with reduced dimension to determine singular vectors and corresponding coefficients that maximize the singular values of the singular vectors; and output the result of the singular value decomposition based on at least one of the following: when the dimension of the channel matrix with reduced dimension is less than or equal to 2, and when the two maximum singular values of the corresponding singular vectors are determined. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which:
[0008] Figure 1 is a flowchart of a method of non-iterative SVD according to an embodiment.
[0009] Figure 2 is a block diagram of an apparatus for non-iterative SVD according to an embodiment.
[0010] Figure 3 is a block diagram of electronic devices in a network environment according to an embodiment.
[0011] Figure 4 is a block diagram of a program according to an embodiment.
[0012] Figure 5 is a block diagram of a wireless communication module, a power management module, and an antenna module of an electronic device according to an embodiment.
[0013] [Explanation of Symbols]
[0014] 101, 103, 105, 107, 109, 111: steps;
[0015] 200: device;
[0016] 201: Receiver;
[0017] 203: channel matrix generator;
[0018] 205: singular value decomposer;
[0019] 300: Network environment;
[0020] 301: Electronic devices;
[0021] 302: external electronic devices;
[0022] 304: External electronic devices;
[0023] 308: Server / External Server;
[0024] 320: processor;
[0025] 321: main processor;
[0026] 323: auxiliary processor;
[0027] 330: memory;
[0028] 332: Volatile memory;
[0029] 334: non-volatile memory;
[0030] 336: internal memory;
[0031] 338: external memory;
[0032] 340: Procedure;
[0033] 342: Operating system;
[0034] 344: middleware;
[0035] 346: Application;
[0036] 350: input device;
[0037] 355: sound output device;
[0038] 360: display device;
[0039] 370: audio module;
[0040] 376: sensor module;
[0041] 377: interface;
[0042] 378: connection terminal;
[0043] 379: touch module;
[0044] 380: Camera module;
[0045] 388: power management module;
[0046] 389: Battery;
[0047] 390: communication module;
[0048] 392: wireless communication module;
[0049] 394: Wired communication module;
[0050] 396: User identification module;
[0051] 397: antenna module;
[0052] 397-1: MST antenna / antenna;
[0053] 397-3: NFC antenna / antenna;
[0054] 397-5: Wireless charging antenna / antenna;
[0055] 398: First Network;
[0056] 399: Second Network / Network;
[0057] 401: Application Manager;
[0058] 403: Window manager;
[0059] 405: Multimedia Manager;
[0060] 407: Resource Manager;
[0061] 409: Power manager;
[0062] 411: Database manager;
[0063] 413: Packet Manager;
[0064] 415: Connectivity Manager;
[0065] 417: Notification Manager;
[0066] 419: Location Manager;
[0067] 421: Graphics Manager;
[0068] 423: Security Manager;
[0069] 425: Phone Manager;
[0070] 427: Speech Recognition Manager;
[0071] 451: Home application;
[0072] 453: Dialer application;
[0073] 455: Short Message Service / Multimedia Messaging Service Application;
[0074] 457: Instant messaging applications;
[0075] 459: Browser application;
[0076] 461: Camera application;
[0077] 463: Alarm application;
[0078] 465: Contact application;
[0079] 467: Speech recognition applications;
[0080] 469: Email application;
[0081] 471: Calendar application;
[0082] 473: Media player application;
[0083] 475: Album application;
[0084] 477: Watch application;
[0085] 479: Health applications;
[0086] 481: Environmental information application;
[0087] 510: magnetic force safety transmission communication module;
[0088] 530: Near field communication module;
[0089] 550: Wireless charging module. DETAILED DESCRIPTION
[0090] Hereinafter, embodiments of the present disclosure are described in detail with reference to the accompanying drawings. It should be noted that the same elements will be indicated by the same reference numerals, although they are shown in different figures. In the following description, specific details such as detailed configuration and components are provided only to help fully understand the embodiments of the present disclosure. Therefore, it should be obvious to those skilled in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope of the present disclosure. In addition, for the sake of clarity and brevity, the description of well-known functions and configurations is omitted. The terms described below are defined in view of the functions in the present disclosure, and may vary according to the user, the user's intention or habit. Therefore, the definition of these terms should be determined based on the content of this specification throughout.
[0091] The present disclosure may have various modifications and various embodiments, some of which are described in detail below with reference to the accompanying drawings. However, it should be understood that the present disclosure is not limited to the embodiments described, but includes all modifications, equivalent forms and alternative forms within the scope of the present disclosure.
[0092] Although terms including ordinal numbers such as "first", "second", etc. may be used to describe various elements, the structural elements are not limited by these terms. These terms are only used to distinguish between various elements. For example, without departing from the scope of the present disclosure, a "first structural element" may be referred to as a "second structural element". Similarly, a "second structural element" may also be referred to as a "first structural element". The term "and / or" used herein includes any and all combinations of one or more related items.
[0093] The terms used herein are only used to illustrate various embodiments of the present disclosure and are not intended to limit the present disclosure. Unless the context clearly indicates otherwise, the singular form is intended to include the plural form. In the present disclosure, it should be understood that the term "include" or "have" indicates the presence of a feature, number, step, operation, structural element, component or combination thereof, without excluding the possibility of the presence or addition of one or more other features, numbers, steps, operations, structural elements, components or combinations thereof.
[0094] Unless defined differently, all terms used herein have the same meaning as understood by a person skilled in the art to which the present disclosure belongs. Terms such as terms defined in commonly used dictionaries should be interpreted as having the same meaning as the contextual meaning in the relevant technical field, and should not be interpreted as having an idealized or overly formal meaning unless clearly defined in the present disclosure.
[0095] The present disclosure relates to an apparatus and method for performing non-iterative SVD. As an example, the present disclosure applies non-iterative SVD to beamforming. However, the present disclosure is not limited to applying non-iterative SVD to beamforming, but can apply non-iterative SVD to any application to which non-iterative SVD can be applied.
[0096] Figure 1 is a flowchart of a method of non-iterative SVD in a wireless communication system according to an embodiment.
[0097] Reference Figure 1 , at 101, the system receives a signal.
[0098] At 103, the system determines a channel matrix for the received signal, where the dimension of the channel matrix is N rx ×N tx , where N rx is an integer representing the number of receiving antennas, and N tx is an integer representing the number of transmit antennas.
[0099] At 105, the system reduces the dimension of the channel matrix to min(N tx ,N rx )×min(N tx ,N rx ).
[0100] At 107, the system performs SVD on the reduced dimensional channel matrix to determine the singular vectors and corresponding coefficients that maximize the singular values of the singular vectors.
[0101] At 109 , the system outputs the result of the SVD if one of the following occurs: the dimension of the reduced-dimensional channel matrix is less than or equal to 2, and the two largest singular values of the corresponding singular vectors are determined. Otherwise, proceed to 111 .
[0102] At 111, the system subtracts the singular vectors from the reduced dimensional channel matrix to reduce the rank of the channel matrix and returns to 107 for further processing.
[0103] Figure 2 is a block diagram of an apparatus 200 for non-iterative SVD in a wireless communication system according to an embodiment.
[0104] Reference Figure 2 , the device 200 includes a receiver 201, a channel matrix generator 203 and a singular value decomposer 205.
[0105] The receiver 201 includes an input terminal for receiving a signal, and an output terminal.
[0106] The channel matrix generator 203 comprises an input terminal connected to the output terminal of the receiver, and an output terminal. The channel matrix generator 203 determines a channel matrix for the received signal, wherein the dimension of the channel matrix is N rx ×N tx , where N rx is an integer representing the number of receiving antennas, and N tx is an integer representing the number of transmit antennas.
[0107] The singular value decomposer 205 includes an input terminal connected to the output terminal of the channel matrix generator 203, and an output terminal. The singular value decomposer 205 reduces the dimension of the channel matrix to min(N tx ,N rx )×min(N tx , N rx ), performing SVD on the reduced dimensional channel matrix to determine singular vectors and corresponding coefficients that maximize the singular values of the singular vectors. If the dimension of the reduced dimensional channel matrix is less than or equal to 2 or the two largest singular values of the corresponding singular vectors are determined, the result of the SVD is output. Otherwise, if the dimension of the reduced dimensional channel matrix is greater than 2, the singular vectors are subtracted from the reduced dimensional channel matrix to reduce the rank of the channel matrix and the result is further processed until the dimension of the reduced dimensional channel matrix is less than or equal to 2.
[0108] Figure 3 is a block diagram of an electronic device 301 in a network environment 300 according to an embodiment.
[0109] Reference Figure 3, the electronic device 301 in the network environment 300 can communicate with the external electronic device 302 through the first network 398 (e.g., a short-range wireless communication network), or communicate with the external electronic device 304 or the server 308 through the second network 399 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 301 can communicate with the external electronic device 304 through the server 308. The electronic device 301 may include a processor 320, a memory 330, an input device 350, a sound output device 355, a display device 360, an audio module 370, a sensor module 376, an interface 377, a haptic module 379, a camera module 380, a power management module 388, a battery 389, a communication module 390, a subscriber identification module (SIM) 396, or an antenna module 397. In an embodiment, at least one of these components (e.g., display device 360 or camera module 380) may be omitted from electronic device 301, or one or more other components may be added to electronic device 301. In an embodiment, some of the components may be implemented as a single integrated circuit (IC). For example, sensor module 376 (e.g., fingerprint sensor, iris sensor, or illuminance sensor) may be embedded in display device 360 (e.g., display).
[0110] The processor 320 may execute, for example, software (e.g., program 340) to control at least one other component (e.g., hardware component or software component) of the electronic device 301 coupled to the processor 320, and may perform various data processing or calculations. According to an embodiment, as at least part of the data processing or calculation, the processor 320 may load a command or data received from another component (e.g., sensor module 376 or communication module 390) in the volatile memory 332, process the command or data stored in the volatile memory 332, and store the resulting data in the non-volatile memory 334. According to an embodiment, the processor 320 may include a main processor 321 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 323 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor (sensor hub processor) or a communication processor (communication processor, CP)) that can operate independently of the main processor 321 or operate in conjunction with the main processor 321. Additionally or alternatively, the auxiliary processor may be adapted to consume less power or perform specific functions than the main processor 321. The auxiliary processor 323 may be implemented separately from the main processor 321 or as part of the main processor 321.
[0111] When the main processor 321 is in an inactive (e.g., sleep) state, the auxiliary processor 323 may replace the main processor 321 to control at least some of the functions or states related to at least one of the components of the electronic device 301 (e.g., the display device 360, the sensor module 376, or the communication module 390); or when the main processor 321 is in an active state (e.g., when an application is being executed), the auxiliary processor 323 may control at least some of the functions or states related to at least one of the components of the electronic device 301 (e.g., the display device 360, the sensor module 376, or the communication module 390) together with the main processor 321. According to an embodiment, the auxiliary processor 323 (e.g., an image signal processor or a communication processor) may be implemented as a part of another component (e.g., a camera module 380 or a communication module 390) that is functionally related to the auxiliary processor 323.
[0112] The memory 330 may store various data used by at least one component of the electronic device 301 (e.g., the processor 320 or the sensor module 376). The various data may include, for example, software (e.g., the program 340) and input data or output data for commands related to the software. The memory 330 may include a volatile memory 332 or a non-volatile memory 334.
[0113] The program 340 may be stored as software in the memory 330 and may include, for example, an operating system (OS) 342 , middleware 344 , or an application 346 .
[0114] The input device 350 may receive commands or data from outside the electronic device 301 (eg, a user) to be used by other components of the electronic device 301 (eg, the processor 320). The input device 350 may include, for example, a microphone, a mouse, or a keyboard.
[0115] The sound output device 355 can output a sound signal to the outside of the electronic device 301. The sound output device 355 may include, for example, a speaker or a receiver. The speaker can be used for general purposes (e.g., playing multimedia or recording), and the receiver can be used to receive incoming calls. According to an embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0116] The display device 360 may provide information to the outside of the electronic device 301 (e.g., a user) in a visual manner. The display device 360 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling a corresponding one of the display, the hologram device, and the projector. According to an embodiment, the display device 360 may include a touch circuit adapted to detect a touch, or a sensor circuit (e.g., a pressure sensor) adapted to measure the strength of a force caused by a touch.
[0117] The audio module 370 can convert sound into an electrical signal and convert the electrical signal into sound. According to an embodiment, the audio module 370 can obtain sound through the input device 350, or output sound through the sound output device 355 or through a headset of an external electronic device (e.g., external electronic device 302) directly (e.g., wired) coupled to the electronic device 301 or wirelessly coupled.
[0118] The sensor module 376 may detect an operating state (e.g., power or temperature) of the electronic device 301 or an environmental state (e.g., user state) outside the electronic device 301, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 376 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or a brightness sensor.
[0119] The interface 377 may support one or more prescribed protocols to be used by the electronic device 301 to be directly (e.g., in a wired manner) or wirelessly coupled with an external electronic device (e.g., the external electronic device 302). According to an embodiment, the interface 377 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0120] The connection terminal 378 may include a connector, and the electronic device 301 may be physically connected to an external electronic device (e.g., the external electronic device 302) through the connector. According to an embodiment, the connection terminal 378 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0121] The haptic module 379 may convert the electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that can be recognized by the user through a tactile sensation or a kinesthetic sensation. According to an embodiment, the haptic module 379 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0122] The camera module 380 may capture a still image or a moving image. According to an embodiment, the camera module 380 may include one or more lenses, an image sensor, an image signal processor, or a flash memory.
[0123] The power management module 388 may manage power supplied to the electronic device 301. According to an embodiment, the power management module 388 may be implemented as, for example, at least a portion of a power management integrated circuit (PMIC).
[0124] The battery 389 may supply power to at least one component of the electronic device 301. According to an embodiment, the battery 389 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
[0125] The communication module 390 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 301 and an external electronic device (e.g., external electronic device 302, external electronic device 304, or server 308) and performing communication through the established communication channel. The communication module 390 may include one or more communication processors that can operate independently of the processor 320 (e.g., an application processor (AP)) and support direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 390 may include a wireless communication module 392 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 394 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the first network 398 (e.g., a short-range communication network such as Bluetooth). TM, wireless-fidelity (Wi-Fi) direct or Infrared Data Association (IrDA) standards) or a second network 399 (for example, a long-distance communication network such as a cellular network, the Internet, or a computer network (for example, a LAN or a wide area network (WAN)))) to communicate with external electronic devices. These various types of communication modules may be implemented as a single component (for example, a single integrated circuit) or may be implemented as multiple components separated from each other (for example, multiple integrated circuits). The wireless communication module 392 may use user information (for example, an international mobile subscriber identity (IMSI)) stored in the user identification module 396 to identify and authenticate electronic devices in a communication network (for example, a first network 398 or a second network 399).
[0126] The antenna module 397 may transmit a signal or power to the outside of the electronic device 301 (e.g., an external electronic device) or receive a signal or power from the outside of the electronic device 301. According to an embodiment, the antenna module 397 may include one or more antennas, and for example, the communication module 390 (e.g., the wireless communication module 392) may select at least one antenna suitable for a communication scheme used in a communication network (e.g., the first network 398 or the second network 399) from the one or more antennas. Then, a signal or power may be transmitted or received between the communication module 390 and the external electronic device through the selected at least one antenna.
[0127] At least some of the above components may be coupled to each other and signals (e.g., commands or data) may be transmitted between at least some of the components via an inter-peripheral communication scheme (e.g., a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)).
[0128] According to an embodiment, a command or data may be transmitted or received between the electronic device 301 and the external electronic device 304 through the server 308 coupled to the second network 399. Each of the external electronic device 302 and the external electronic device 304 may be a device of the same type or a different type as the electronic device 301. According to an embodiment, all operations or some operations to be performed at the electronic device 301 may be performed at one or more of the external electronic device 302, the external electronic device 304, or the server 308. For example, if the electronic device 301 should originally perform a function or service automatically or in response to a request from a user or another device, the electronic device 301 may also request the one or more external electronic devices to perform at least a part of the function or service instead of or in addition to performing the function or service. The one or more external electronic devices that receive the request may perform the at least a part of the requested function or service, or perform additional functions or additional services related to the request, and transmit the result of the execution to the electronic device 301. The electronic device 301 provides the result as at least part of a reply to the request with or without further processing of the result.To this end, for example, cloud computing, distributed computing or client-server computing techniques may be used.
[0129] The electronic device according to the embodiment may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to the above-mentioned electronic devices.
[0130] The terms used in this disclosure are not intended to limit the disclosure, but are intended to include various changes, equivalents or alternative forms to the corresponding embodiments. For the description of the drawings, similar reference numbers may be used to refer to similar or related elements. Unless the relevant context clearly indicates otherwise, the singular form of a noun corresponding to an item may include one or more things. As used herein, one of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B, and C", and "at least one of A, B, or C" may include all possible combinations of items enumerated together with the corresponding one of the phrases. As used herein, for example, "first (1 st , first)" and second (2 ndThe terms "first, second" and the like may be used to distinguish a corresponding component from another component and are not intended to limit the components in other aspects (e.g., importance or order). It is intended herein that if an element (e.g., a first element) is referred to as being "coupled," "coupled to," "connected to," or "connected to" another element (e.g., a second element) with or without the terms "operably" or "communicatively," it means that the element may be coupled to the other element directly (e.g., in a wired manner), wirelessly, or through a third element.
[0131] The term "module" used herein may include a unit implemented in the form of hardware, software, or firmware, and may be used interchangeably with other terms such as "logic", "logic block", "component", and "circuit". A module may be a single integrated component or a minimum unit or component of the single integrated component adapted to perform one or more functions. For example, according to an embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0132] Embodiments may be implemented as software (e.g., program 340) including one or more instructions stored in a storage medium (e.g., internal memory 336 or external memory 338) readable by a machine (e.g., electronic device 301). For example, a processor (e.g., processor 320) of a machine (e.g., electronic device 301) may call at least one of the one or more instructions stored in the storage medium with or without one or more other components controlled by the processor, and execute the at least one instruction. Thus, the machine may be operated to perform at least one function according to at least one instruction called. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but this term does not distinguish between a situation where data is stored in a storage medium in a semi-permanent manner and a situation where data is temporarily stored in a storage medium.
[0133] According to an embodiment, the method of the present disclosure may be included in and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)) or through an application store (e.g., Play Store TM(Play Store TM ) online distribution (e.g., download or upload), or directly between two user devices (e.g., smartphones). If distributed online, a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium (e.g., a memory of a manufacturer's server, a server of an application store, or a relay server).
[0134] According to an embodiment, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities. According to an embodiment, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as the corresponding one of the multiple components before integration performs the one or more functions. According to an embodiment, the operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or heuristically, or one or more of the operations may be performed in a different order or omitted, or one or more other operations may be added.
[0135] Figure 4 is a block diagram of a process 340 according to an embodiment.
[0136] Reference Figure 4 , the program 340 may include an operating system (OS) 342, middleware 344, or an application 346 executable in the OS 342 for controlling one or more resources of the electronic device 301. The OS 342 may include, for example, Apple operating system or Bada TM (Bada TM ). For example, at least a portion of program 340 may be preloaded on electronic device 301 during manufacturing, or may be downloaded from an external electronic device (e.g., external electronic device 302 or external electronic device 304, or server 308) or updated by an external electronic device during user use.
[0137] OS 342 may control management (e.g., allocation or deallocation) of one or more system resources (e.g., processes, memory, or power) of electronic device 301. Additionally or alternatively, OS 342 may include one or more driver programs to drive other hardware devices of electronic device 301 (e.g., input device 350, sound output device 355, display device 360, audio module 370, sensor module 376, interface 377, haptic module 379, camera module 380, power management module 388, battery 389, communication module 390, user identification module 396, or antenna module 397).
[0138] The middleware 344 may provide various functions to the application 346 so that the application 346 can use functions or information provided from one or more resources of the electronic device 301. The middleware 344 may include, for example, an application manager 401, a window manager 403, a multimedia manager 405, a resource manager 407, a power manager 409, a database manager 411, a data packet manager 413, a connectivity manager 415, a notification manager 417, a location manager 419, a graphics manager 421, a security manager 423, a telephony manager 425, or a speech recognition manager 427.
[0139] The application manager 401 may, for example, manage the life cycle of the application 346. The window manager 403 may, for example, manage one or more graphical user interface (GUI) resources used on the screen. The multimedia manager 405 may, for example, identify one or more formats to be used to play a media file, and may encode or decode a corresponding one of the media files using a codec suitable for a corresponding one of the one or more formats selected. The resource manager 407 may, for example, manage the source code of the application 346 or the memory space of the memory 330. The power manager 409 may, for example, manage the capacity, temperature, or power of the battery 389, and determine or provide relevant information to be used for the operation of the electronic device 301 based at least in part on the corresponding information of the capacity, temperature, or power of the battery 389. According to an embodiment, the power manager 409 may interoperate with a basic input / output system (BIOS) of the electronic device 301.
[0140] The database manager 411 may, for example, generate, search or change a database to be used by the application 346. The data package manager 413 may, for example, manage the installation or update of an application distributed in the form of a data package file. The connectivity manager 415 may, for example, manage a wireless connection or a direct connection between the electronic device 301 and an external electronic device. The notification manager 417 may, for example, provide a function of notifying the user of the occurrence of a prescribed event (e.g., an incoming call, message or warning). The location manager 419 may, for example, manage the location information of the electronic device 301. The graphic manager 421 may, for example, manage one or more graphic effects to be provided to the user or a user interface related to the one or more graphic effects.
[0141] The security manager 423 can, for example, provide system security or user authentication. The phone manager 425 can, for example, manage a voice call function or a video call function provided by the electronic device 301. The voice recognition manager 427 can, for example, transmit the user's voice data to the server 308, and receive from the server 308 a command corresponding to a function to be performed on the electronic device 301 based at least in part on the voice data, or receive text data converted at least in part based on the voice data. According to an embodiment, the middleware 344 can dynamically delete some existing components or add new components. According to an embodiment, at least a portion of the middleware 344 can be included as a part of the OS 342 or can be implemented in other software separated from the OS 342.
[0142] Application 346 may include, for example, a home application 451, a dialer application 453, a short message service (SMS) / multimedia messaging service (MMS) application 455, an instant message (IM) application 457, a browser application 459, a camera application 461, an alarm application 463, a contact application 465, a voice recognition application 467, an email application 469, a calendar application 471, a media player application 473, an album application 475, a watch application 477, a health application 479 (e.g., for measuring exercise level or biometric information (e.g., blood sugar)) or an environmental information application 481 (e.g., for measuring air pressure, humidity or temperature information). According to an embodiment, application 346 may also include an information exchange application capable of supporting information exchange between electronic device 301 and an external electronic device. The information exchange application may include, for example, a notification relay application adapted to transmit specified information (e.g., a call, message, or warning) to an external electronic device, or a device management application adapted to manage an external electronic device. The notification relay application may transmit notification information corresponding to the occurrence of a specified event (e.g., email reception) at another application (e.g., email application 469) of the electronic device 301 to the external electronic device. Additionally or alternatively, the notification relay application may receive notification information from the external electronic device and provide the notification information to a user of the electronic device 301.
[0143] The device management application may control the power (e.g., turning on or off) or functionality (e.g., adjustment of brightness, resolution, or focus) of the external electronic device or some components of the external electronic device (e.g., a display device or camera module of the external electronic device). Additionally or alternatively, the device management application may support installation, deletion, or updating of applications running on the external electronic device.
[0144] Figure 5 is a block diagram of a wireless communication module 392 , a power management module 388 , and an antenna module 397 of an electronic device 301 according to an embodiment.
[0145] Reference Figure 5, the wireless communication module 392 may include a magnetic secure transmission (MST) communication module 510 or a near-field communication (NFC) module 530, and the power management module 388 may include a wireless charging module 550. In this case, the antenna module 397 may include a plurality of antennas, including an MST antenna 397-1 connected to the MST communication module 510, an NFC antenna 397-3 connected to the NFC communication module 530, and a wireless charging antenna 397-5 connected to the wireless charging module 550. Only the above reference is made here. Figure 3 Descriptions of the components described are briefly described or the descriptions are omitted.
[0146] The MST communication module 510 may receive a signal containing control information or payment information such as card (e.g., credit card) information from the processor 320, generate a magnetic signal corresponding to the received signal, and then transmit the generated magnetic signal to the external electronic device 302 (e.g., a point-of-sale (POS) device) through the MST antenna 397-1. According to an embodiment, to generate the magnetic signal, the MST communication module 510 may include a switching module (which includes one or more switches connected to the MST antenna 397-1), and the switching module may be controlled to change the direction of the voltage or current supplied to the MST antenna 397-1 according to the received signal. Changing the direction of the voltage or current can cause the direction of the magnetic signal (e.g., magnetic field) emitted from the MST antenna 397-1 to change accordingly. If detected at the external electronic device 302, the magnetic signal with a changed direction may cause an effect (e.g., a waveform) similar to the following effect: the effect of the magnetic field generated when a magnetic card corresponding to the card information associated with the received signal is swiped through a card reader of the external electronic device 302. According to an embodiment, for example, the payment-related information and the control signal received by the external electronic device 302 in the form of a magnetic signal may be further transmitted to the external server 308 (eg, a payment server) through the network 399 .
[0147] The NFC communication module 530 may obtain a signal containing control information or payment information (e.g., card information) from the processor 320 and transmit the obtained signal to the external electronic device 302 through the NFC antenna 397-3. According to an embodiment, the NFC communication module 530 may receive such a signal transmitted from the external electronic device 302 through the NFC antenna 397-3.
[0148] The wireless charging module 550 can wirelessly transmit power to an external electronic device 302 (e.g., a cellular phone or a wearable device) or wirelessly receive power from an external electronic device 302 (e.g., a wireless charging device) through the wireless charging antenna 397-5. The wireless charging module 550 can support one or more of various wireless charging schemes including, for example, a magnetic resonance scheme or a magnetic induction scheme.
[0149] According to an embodiment, some of the MST antenna 397-1, the NFC antenna 397-3, or the wireless charging antenna 397-5 may share at least some of their radiators. For example, the radiator of the MST antenna 397-1 may be used as the radiator of the NFC antenna 397-3 or the radiator of the wireless charging antenna 397-5, or vice versa. In this case, the antenna module 397 may include a switching circuit adapted to selectively connect (e.g., close) or disconnect (e.g., open) at least some of the antennas 397-1, 397-3, and 397-5, for example, under the control of the wireless communication module 392 (e.g., the MST communication module 510 or the NFC communication module 530) or the power management module (e.g., the wireless charging module 550). For example, when the electronic device 301 uses the wireless charging function, the NFC communication module 530 or the wireless charging module 550 can control the switching circuit to temporarily disconnect at least a portion of the radiator shared by the NFC antenna 397-3 and the wireless charging antenna 397-5 from the NFC antenna 397-3 and connect it to the wireless charging antenna 397-5.
[0150] According to an embodiment, at least one function of the MST communication module 510, the NFC communication module 530, or the wireless charging module 550 may be controlled by an external processor (e.g., the processor 320). According to an embodiment, at least one prescribed function (e.g., a payment function) of the MST communication module 510 or the NFC communication module 530 may be executed in a trusted execution environment (TEE). According to an embodiment, the TEE may form an execution environment in which, for example, at least some designated areas of the memory 330 are allocated for executing functions that require a relatively high level of security (e.g., financial transactions or personal information related functions). In this case, access to at least some designated areas of the memory 330 may be restricted, for example, according to an entity that accesses the at least some designated areas of the memory 330 or an application executed in the TEE.
[0151] In an embodiment, the singular vectors and (N rx ,N tx) The corresponding singular values of the dimensions of the matrix, where N tx ≥4 and N rx = 4. In an embodiment, a closed form formula is used which does not require iteration.
[0152] In an embodiment, beamforming feedback is calculated at the beamformee and fed back to the beamformer for SU-MIMO Wi-Fi operation and MU-MIMO Wi-Fi operation, where the beamformee is the device that is targeted by the beamformer and the beamformer is the device that increases the phase shift of its antenna to produce gain in a specific direction. In an embodiment, after applying the Givens rotation or the Householder transform, the problem is changed from N rx ×N tx Reduce to min(N rx ,N tx )×min(N rx ,N tx ) operation. In an embodiment, the operation is divided into smaller operations (e.g., 2×2 operations with closed form solutions). In an embodiment, the coefficients that maximize the metric are determined. In the case of 3 streams and 4 streams, after determining 2 vectors as described above, the 2 vectors are subtracted from the modified channel matrix to determine the subsequent 1 vector or 2 vectors. After the subtraction operation, the remaining process is similar to the process of finding 1 vector or 2 vectors.
[0153] In an embodiment, the present system and method provide methods for 1 stream and 2 streams for 4 receive antennas. Form, first use the Hermitian operation T = H H H(N rx ×N tx ) is converted into a high matrix (N tx ×N rx ). This embodiment is based on a Householder transform, but embodiments based on Givens rotation are similar, where both the Householder transform and the Givens rotation determine A, B, and C.
[0154] Next, using the Householder transform (N rx times) produces the following equation (1):
[0155]
[0156] For high SNR, the matrix V t is certain, the matrix V t make The determinant of is maximized. Therefore, the right singular vector can be
[0157] Can be respectively and svd(C) to determine the right singular vector v 1 and v 2 .
[0158] The right singular vectors may be combined to maximize the coefficient values of the right singular vectors, as shown in the following equations (2) and (3):
[0159]
[0160]
[0161] In an embodiment, there may be one stream and the coefficient values may be optimized as shown in equations (4) and (5) below:
[0162]
[0163] where α is a positive value (0≤α≤1),
[0164]
[0165] where v 1 and v 2 is the one that provides the largest singular value (A H A+B H B) and the best right singular vector of C, where α is (A H A+B H B), and b is the largest singular value of C H The largest singular value of C. This can be done through To obtain, in this case, The solution of equation (5) is α, where the derivative of equation (5) is 0, i.e. Where d = (ba) 2 +4c 2 ,f=(ba) 2 Therefore, the maximum α that maximizes equation (5) can be determined. The corresponding left singular vector and singular value are U = MV t / ||MV t || and S=U H MV t .
[0166] In an embodiment, there may be two streams, and the coefficient values may be optimized as shown in equation (6) below:
[0167]
[0168]
[0169] Solving equation (6) is complex. This system involves only cross terms in the second term (i.e., B H C) maximizes the first term. In this case, the system can solve α 1 ,β 1 and α 2 ,β 2 , and solve for v again 1,i and v 2,i As (A H A+B H B) and the right singular vectors of C, among which there exists (v 1,i ,v 2,i ) . The solution for each combination can be found in the same way as for the single flow case above. α, β and (v 1,i ,v 2,i ) is determined by comparing equation (6).
[0170] Find V t Afterwards, U t =MV t . / ‖MV t ‖, where (A). / ||A|| denotes column wise normalization, and Among them U t and V t The number of columns in is 2. Since V t is not an exact right singular vector, so in S t There may be non-zero values in the off-diagonal terms of . To eliminate non-zero values, [u,s,v]=svd(S t ), and through proper normalization, the final result is and U=U t ·u. In addition, S=U H MV t is a 2 × 2 diagonal matrix. After this operation, the system can apply geometric mean decomposition (GMD) to S to find a diagonal balanced matrix.
[0171] In an embodiment, after finding V t Afterwards, U t =MV t . / ‖MV t ‖and Among them U t and V tThe number of columns in is 2. Then, with appropriate normalization, the final result is and U=U t In addition, S = U H MV t is a 2×2 diagonal matrix. After this operation, the system can apply geometric mean decomposition (GMD) to S to find a diagonal balanced matrix.
[0172] In N rx Equal to N tx In an embodiment of the present system and method, 1 stream and 2 stream methods are provided for 4 receive antennas.
[0173] Can be respectively and svd(C) to determine the right singular vector v 1 and v 2 .
[0174] The right singular vectors may be combined to maximize the coefficient values of the right singular vectors, as shown in the following equations (2a) and (3a):
[0175]
[0176]
[0177] Solving equation (2a) and equation (3a) is similar to solving equation (2) and equation (3), respectively, where P=1.
[0178] In embodiments, the present systems and methods may have three streams or four streams.
[0179] To reduce the rank of the channel matrix, subtraction may be performed as shown in the following equations (7) and (8):
[0180]
[0181]
[0182] Among them U 1 ,Λ 1 and V 1 is the solution from the two-flow case. 1 ,Λ 1 and V 1 Rather than being a singular value or vector exactly, equation (8) is an approximation. 2 ,Λ 2 and V 2 It can be found using a similar approach as described above for 3 and 4 streams.
[0183] U2 ,Λ 2 and V 2 It can be obtained by solving the following equation (9):
[0184]
[0185] where v 1 and v 2 They are and The right singular vectors of . Gram Schemidt orthogonalization can be used to update V 2 and U 2 The final result.
[0186] In embodiments, there may be three streams or four streams.
[0187] An example of 3 flows is shown in equation (10) below:
[0188]
[0189] The problem in the above equation (10) is the same as in the above equation (5). t =[V 1 V 2 ] and the corresponding U 2 Afterwards, V 2 and U 2 Use Gram-Schmidt orthogonalization to update, then calculate
[0190] To eliminate non-zero values, execute [u,s,v]=svd(S t ), and then by performing appropriate normalization, finally V t =[V 1 V 2 v] and U=[U 1 U 2 u]. Then, the final result is In addition, S = U H MV t is a 3×3 diagonal matrix.
[0191] The four flows can be found by equation (9). The remaining steps are the same as above.
[0192] In an embodiment, since the best singular values and vectors and the second best singular values and vectors are obtained, the matrix M can be rewritten as follows in equations (11) and (12):
[0193]
[0194]
[0195] Among them, U 1 Matrix, S 1 Matrix and V 1 The matrix is obtained as explained above in the two-stream case. 1 , S 1 and V 1 may not be exact singular values and singular vectors. Therefore, equations (11) and (12) are not exact but approximate values.
[0196] Using Givens rotation, we obtain the following equation (13):
[0197]
[0198] In this case, unlike the previous case, due to M 1 The rank of is less than or equal to 2, so all rows with the third and fourth columns are zero. In this case, Where v includes (A H A+B H B) right singular vector. 2 And the corresponding U 2 Then, Gram-Schmidt orthogonalization is used to update U 2 , then calculate Since V 2 There is no V 1 component, so for V t =[V 1 V 2 ]Does not perform Gram-Schmidt orthogonalization.
[0199] Although certain embodiments of the present disclosure have been described in the detailed description of the present disclosure, the present disclosure may be modified in various forms without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be determined based solely on the described embodiments, but should be determined based on the attached claims and their equivalents.
Claims
1. A method for performing non-iterative singular value decomposition in a wireless communication system, comprising: receiving a signal by a receiver; determining, by a channel matrix generator connected to the receiver, a channel matrix for the received signal; reducing the dimensionality of the channel matrix by a singular value decomposer connected to the channel matrix generator; performing, by the singular value decomposer, singular value decomposition on the channel matrix of reduced dimension to determine singular vectors and corresponding coefficients that maximize singular values of the singular vectors; as well as outputting a result of the singular value decomposition based on at least one of: when the dimension of the reduced-dimensional channel matrix is less than or equal to 2, and when two maximum singular values of corresponding singular vectors are determined, Wherein when the dimension of the channel matrix whose dimension has been reduced is less than or equal to 2, orthogonalization is not performed on the coefficients that maximize the singular values of the singular vectors.
2. The method according to claim 1, further comprising: When the result of the singular value decomposition is not output, the singular vector is subtracted from the channel matrix whose dimension has been reduced by the singular value decomposer to reduce the rank, and the singular value decomposition is performed back.
3. The method of claim 1 , wherein reducing the dimensionality of the channel matrix comprises: The dimensionality of the channel matrix is reduced by a rotation in a plane spanned by two coordinate axes.
4. The method of claim 1 , wherein reducing the dimensionality of the channel matrix comprises: The dimensionality of the channel matrix is reduced by a linear transformation describing reflection about a plane or hyperplane containing the origin.
5. The method according to claim 4, wherein the linear transformation is performed N rx times, where N rx is an integer indicating the number of receiving antennas.
6. The method according to claim 5, wherein N rx Equal to 1, 2, or 4. 7 . The method according to claim 1 , wherein the singular value decomposition is performed at a beamforming receiving end, and the result of the singular value decomposition is fed back to a beamformer.
8. The method of claim 1, wherein the result of the singular value decomposition is for single-user multiple-input multiple-output.
9. The method of claim 1, wherein the result of the singular value decomposition is for multi-user multiple-input multiple-output.
10. The method according to claim 2, further comprising: The reduced rank channel matrix is updated by a rank reduction processor using orthogonalization, wherein Gram-Schmidt orthogonalization is performed on the vectors found from the three streams to determine vectors for the four streams.
11. An apparatus for performing non-iterative singular value decomposition in a wireless communication system, comprising: a receiver configured to receive a signal; a channel matrix generator connected to the receiver and configured to determine a channel matrix for the received signal; as well as A singular value decomposer connected to the channel matrix generator and configured to: reducing the dimension of the channel matrix; performing singular value decomposition on the channel matrix of reduced dimension to determine singular vectors and corresponding coefficients that maximize singular values of the singular vectors; as well as outputting a result of the singular value decomposition based on at least one of: when the dimension of the reduced-dimensional channel matrix is less than or equal to 2, and when two maximum singular values of corresponding singular vectors are determined, Wherein when the dimension of the channel matrix whose dimension has been reduced is less than or equal to 2, orthogonalization is not performed on the coefficients that maximize the singular values of the singular vectors.
12. The apparatus according to claim 11, wherein the singular value decomposer is further configured to: when the result of the singular value decomposition is not output, subtract the singular vector from the channel matrix of reduced dimension to reduce the rank, and return to perform the singular value decomposition.
13. The apparatus of claim 11, wherein the singular value decomposer is further configured to reduce the dimension of the channel matrix by rotation within a plane spanned by two coordinate axes.
14. The apparatus of claim 11, wherein the singular value decomposer is further configured to reduce the dimensionality of the channel matrix by a linear transformation describing a reflection about a plane or a hyperplane containing an origin.
15. The apparatus of claim 14, wherein the singular value decomposer is further configured to perform the linear transformation N rx times to reduce the dimension of the channel matrix, where N rx is an integer indicating the number of receiving antennas.
16. The device according to claim 15, wherein N rx Equal to 1, 2, or 4. 17 . The apparatus according to claim 11 , wherein the singular value decomposer is further configured to perform the singular value decomposition at a beamforming receiving end and feed back a result of the singular value decomposition to the beamformer.
18. The apparatus according to claim 11, wherein the singular value decomposer is further configured to feed back the result of the singular value decomposition for single-user multiple-input multiple-output.
19. The apparatus according to claim 11, wherein the singular value decomposer is further configured to feed back the result of the singular value decomposition for multi-user multiple-input multiple-output.
20. The apparatus of claim 12, wherein the singular value decomposer is further configured to update the reduced rank channel matrix using orthogonalization, wherein Gram-Schmidt orthogonalization is performed on vectors found from three streams to determine vectors for four streams.
Citation Information
Patent Citations
Apparatus and method of non-iterative singular-value decomposition
CN110034810A