Method of processing frames in a wireless communication device, wireless communication device and method of transmitting frames in a wireless communication device
By introducing an intermediate frame check sequence (IFCS) within the wireless communication frame, the problems of error detection delay and compatibility in the prior art are solved, enabling early integrity verification and efficient processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-30
- Publication Date
- 2026-07-31
AI Technical Summary
In existing wireless communication systems, using a single frame end verification sequence leads to error detection delays, and segment integrity methods increase signaling overhead and reduce compatibility with existing communication protocols.
By introducing an Intermediate Frame Check Sequence (IFCS) within the wireless communication frame, the presence and location of the IFCS are indicated by the first user information field. This allows the receiving device to verify the partial integrity of the frame early in the reception process, avoiding changes to traditional frame processing.
It enables early and selective integrity verification, enhances reliability, reduces processing latency, and maintains backward compatibility with existing communication protocols.
Smart Images

Figure CN122496153A_ABST
Abstract
Description
[0001] This application claims priority to U.S. Provisional Application No. 63 / 752,461, filed January 31, 2025, and U.S. Application No. 19 / 437,623, filed December 31, 2025, the disclosures of which are incorporated herein by reference in their entirety as fully set forth herein. Technical Field
[0002] The disclosure generally relates to wireless communication systems. More specifically, the subject matter disclosed herein relates to improvements in communication protocols and data transmission techniques involving Intermediate Frame Check Sequences (IFCS). Background Technology
[0003] Wireless communication systems can use frames that include control and data portions associated with one or more user devices to transmit information. To maintain reliable transmission, such systems may employ error detection mechanisms (e.g., a frame check sequence (FCS) appended to the end of the frame that allows the receiving device to verify the integrity of the received data).
[0004] Many systems use a single FCS that covers the entire frame. In addition, alternative techniques have been proposed: utilizing segment integrity checks or partial integrity checks to achieve earlier error detection or identification of corrupted portions of the frame.
[0005] However, using a single frame end check delays error detection until after the complete frame is received, and segment integrity methods or ad-hoc integrity methods often introduce additional signaling or require non-standard frame structures, thereby increasing overhead and reducing compatibility with existing communication protocols. Summary of the Invention
[0006] To overcome these types of problems, a system and method for providing IFCS within a wireless communication frame are described herein.
[0007] In a particular embodiment, the first user information field includes an indication of whether the frame carries an IFCS and location information identifying one or more user information fields containing the IFCS. The receiving device can detect this indication, determine the IFCS location, and verify the corresponding frame portion before processing the entire frame.
[0008] Because the above methods can achieve early and selective integrity verification without changing the traditional frame processing of devices that do not support IFCS, thereby enhancing reliability and reducing processing latency while maintaining backward compatibility with existing communication protocols, the above methods improve upon previous methods.
[0009] In one embodiment, a method for processing a frame in a wireless communication device includes: receiving the frame via the wireless communication device, the frame including a first user information field; detecting, via the wireless communication device and based on information contained in the first user information field, whether the frame includes an IFCS and whether location information of the IFCS is available; when the location information of the IFCS is available, determining, via the wireless communication device and based on location information contained in a user information field following a common information field of the frame, the location of one or more additional user information fields including the IFCS; when the location information of the IFCS is available, verifying the IFCS via the wireless communication device based on the one or more additional user information fields; and based on the verification result, performing further processing on the frame or discarding the frame.
[0010] In one embodiment, a wireless communication device includes: a receiver configured to receive a frame including a first user information field; and a controller configured to: detect whether the frame includes an IFCS based on information contained in the first user information field, determine the location of one or more additional user information fields including the IFCS based on location information contained in the first user information field, and verify the IFCS based on the one or more additional user information fields.
[0011] In one embodiment, a frame for wireless communication includes: a public information field; and one or more user information fields following the public information field, wherein the first user information field includes: an association identifier (AID) value indicating that the frame includes an IFCS; and location information indicating the location of one or more additional user information fields including the IFCS, or indicating that the IFCS is included within the first user information field.
[0012] In one embodiment, a method of transmitting a frame in a wireless communication device includes: constructing a frame including a public information field and one or more user information fields; generating an IFCS for a portion of the frame; including the IFCS in one or more user information fields immediately following the public information field or at a location indicated by a user information field following the public information field; and transmitting the frame to another wireless communication device. Attached Figure Description
[0013] In the following sections, aspects of the subject matter disclosed herein will be described with reference to exemplary embodiments shown in the accompanying drawings.
[0014] Figure 1 The format of a wireless communication frame according to an embodiment is shown, including a Media Access Control (MAC) header, a public information field, and multiple user information fields, one or more of the multiple user information fields including portions of the IFCS.
[0015] Figure 2 Another format of a wireless communication frame according to an embodiment is shown, including a MAC header, a public information field, and multiple user information fields, wherein one or more portions of the user information fields are located toward the end of the frame and include an IFCS.
[0016] Figure 3 A method for processing wireless communication frames in a wireless communication device according to an embodiment is shown, the method including detecting, determining, and verifying IFCS based on information contained in a user information field of the frame.
[0017] Figure 4 This is a block diagram of an electronic device in a network environment according to an embodiment, the electronic device being configured to process wireless communication frames including IFCS.
[0018] Figure 5 A system according to an embodiment is shown, comprising a station (STA) and an access point (AP) communicating with each other, wherein the STA is configured to process wireless communication frames including IFCS. Detailed Implementation
[0019] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. However, those skilled in the art will understand that the disclosed aspects may be practiced without these specific details. In other instances, well-known methods, processes, components, and circuits have not been described in detail so as not to obscure the subject matter disclosed herein.
[0020] Throughout this specification, references to "an embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment disclosed herein. Therefore, the phrases "in one embodiment," "in an embodiment," or "according to an embodiment" (or other phrases with similar meanings) appearing in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In this regard, as used herein, the word "exemplary" means "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" should not be construed as necessarily preferred or advantageous over other embodiments. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Additionally, depending on the context discussed herein, singular terms may include corresponding plural forms, and plural terms may include corresponding singular forms. Similarly, hyphenated terms (e.g., "two-dimensional", "pre-determined", "pixel-specific", etc.) may occasionally be used interchangeably with their corresponding non-hyphenated versions (e.g., "two-dimensional", "predetermined", "pixel specific", etc.), and uppercase entries (e.g., "Counter Clock", "Row Select", "PIXOUT", etc.) may be used interchangeably with their corresponding non-uppercase versions (e.g., "counter clock", "row select", "pixout", etc.). This occasional interchangeability should not be considered inconsistent with each other.
[0021] Furthermore, depending on the context of this discussion, singular terms may include their corresponding plural forms, and plural terms may include their corresponding singular forms. It should also be noted that the various figures shown and discussed herein (including component diagrams) are for illustrative purposes only and are not drawn to scale. For example, the dimensions of some elements may be exaggerated relative to others for clarity. Additionally, reference numerals are repeated in the figures where appropriate to indicate corresponding and / or similar elements.
[0022] The terminology used herein is for the purpose of describing some exemplary embodiments only and is not intended to limit the claimed subject matter. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. It will also be understood that, when used in this specification, the terms “comprising” and / or “including” specify the presence of the described features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.
[0023] It will be understood that when an element or layer is referred to as being "on" another element or layer, "connected to," or "bonded to" another element or layer, it may be directly on, connected to, or bonded to the other element or layer, or there may be intermediate elements or layers present. Conversely, when an element or layer is referred to as being "directly on" another element or layer, "directly connected to," or "directly bonded to" another element or layer, there are no intermediate elements or layers present. The same notation always refers to the same element. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0024] As used herein, unless explicitly defined as such, the terms “first,” “second,” etc., are used as labels for the nouns that follow them and do not imply any kind of ordering (e.g., spatial, temporal, logical, etc.). Furthermore, the same reference numerals may be used in two or more figures to denote parts, components, blocks, circuits, units, or modules having the same or similar functions. However, this usage is merely for simplicity of description and ease of discussion; it does not imply that the construction or architectural details of these components or units are the same in all embodiments, or that such commonly referenced parts / modules are the only way to implement some of the exemplary embodiments disclosed herein.
[0025] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this subject pertains. It will also be understood that, unless expressly defined herein, terms (such as those defined in a general dictionary) shall be interpreted as having a meaning consistent with their meaning in the context of the relevant field and shall not be interpreted in an idealized or overly formalized sense.
[0026] As used herein, the term "module" means any combination of software, firmware, and / or hardware configured to provide the functionality described herein in conjunction with modules. For example, software may be embodied as a software package, code, and / or instruction set or instructions, and the term "hardware" as used in any implementation described herein may, for example, individually or in any combination, include assemblies, hardwired circuitry, programmable circuitry, state machine circuitry, and / or firmware storing instructions executed by programmable circuitry. Modules may be embodied collectively or individually as circuitry (e.g., but not limited to, integrated circuits (ICs), system-on-a-chip (SoCs), assemblies, etc.) forming part of a larger system.
[0027] As used herein, “frame” can refer to a data unit (including, for example, a header, one or more information fields, and one or more integrity check sections) transmitted over a wireless communication medium. Some examples of “frame” may include management frames or control frames (such as trigger frames) as defined in the IEEE 802.11 standard, or data frames that include a Frame Check Sequence (FCS) and are carried in physical layer (PHY) transmission.
[0028] As used herein, the “User Info field” can represent a portion of a wireless communication frame carrying information associated with an individual user or station (STA). Each User Info field may include control parameters, identifiers, scheduling data, or other information used for uplink or downlink coordination. Some examples of User Info fields may include fields in a trigger frame that specify an Association Identifier (AID), resource allocation parameters, modulation and coding scheme (MCS) information, or, in a particular embodiment, bits of the IFCS or an offset value indicating the IFCS location.
[0029] As used herein, a "common information field" may represent a portion of control information carried in a wireless communication frame that applies to multiple or all user STAs addressed by that frame. Common information fields typically precede one or more user information fields and provide parameters that define or coordinate the transmission behavior of the relevant users. Some examples of "common information fields" may include fields in a trigger frame that specify the trigger type, channel or resource allocation parameters, space reuse information, or timing and scheduling indicators shared among users.
[0030] As used herein, "Intermediate Frame Check Sequence (IFCS)" can represent an error detection code included within a frame, except at the end of the frame, and is configured to verify the integrity of a portion of the frame before the entire frame is fully received. The IFCS can be calculated using one or more preceding fields of the frame, excluding one or more fields carrying the IFCS itself. Some examples of "Intermediate Frame Check Sequence (IFCS)" may include a Cyclic Redundancy Check (CRC) value inserted between the user information fields of the triggering frame, or an intermediate integrity code located within a data or control frame, to enable early or segment verification by the receiving device.
[0031] As used herein, “Association Identifier (AID)” can refer to a digital identifier assigned by an Access Point (AP) to a STA to distinguish the STA within a Basic Service Set (BSS) or during communication switching. An AID may be included in the User Information field of a frame to identify the intended recipient or to convey specific signaling associated with that recipient. Some examples of “Association Identifier (AID)” may include a 12-bit field value specified for a triggering frame in the IEEE 802.11 standard (such as an AID value identifying a specific user, an AID value reserved for broadcast or group addressing, or a designated AID value indicating the presence or location of an IFCS). For example, an AID value may identify at least one of the following: whether the IFCS is included immediately after the Common Information field of the frame and whether the IFCS is included in a subsequent portion of the frame following one or more User Information fields.
[0032] As used herein, “offset” can refer to information indicating the position of a specific field or data element within a frame relative to a predefined reference point, such as the previous field or the start of the frame. In the embodiments described herein, an offset can specify the position or boundary of one or more user information fields, including the IFCS. Some examples of an “offset” may include a value representing the byte or octet index of the last user information field in the frame, a count of user information fields preceding the IFCS field, or a pointer indicating where frame padding or integrity verification should begin or end.
[0033] As used herein, a "checksum" may represent a calculated integrity value derived from one or more portions of a frame to verify the correctness of data. Checksums can be generated using error detection algorithms such as CRC, parity calculations, or other polynomial-based checksums. Some examples of checksums may include a CRC result calculated over a wireless communication frame excluding selected portions of one or more user information fields carrying the IFCS, or a partial integrity code used by a receiving device to confirm that a segment of a frame has been correctly received before processing the entire frame.
[0034] The embodiments described herein relate to techniques for improving the integrity verification of wireless communication frames. In these embodiments, a frame (such as a trigger frame) may include one or more user information fields carrying an IFCS, in addition to end-of-frame verification. Specific user information fields may include identifiers and location information indicating the presence and location of the IFCS within the frame. A receiving device may interpret this information to detect the presence of the IFCS and determine where the IFCS is located within the frame.
[0035] By providing this indication within the existing frame structure, the receiving device can verify portions of the frame earlier in the reception process, or selectively inspect specific portions, without waiting for the entire frame to be received. This capability enhances data integrity and error detection while maintaining backward compatibility with devices and protocols using a single frame end check. The described technique can be implemented in wireless communication devices, access points, or network systems that transmit and receive frames including IFCS.
[0036] Figure 1 An example of a wireless communication frame format according to an embodiment is shown. Frame 100 is presented in the form of a table with three columns: field column 105, size (octet) column 110, and content column 115. Each row of the table corresponds to a portion of frame 100 and identifies the size and content associated with that portion.
[0037] like Figure 1 As shown, the first line 120 corresponds to the MAC header of the trigger frame, which may include information identifying the frame type, duration, and addressing fields. The MAC header may have a size of sixteen octets and remains unchanged relative to existing frame formats. The second line 125 corresponds to a common information field that provides control information shared by all user devices. The common information field may have a nominal size of eight octets plus any trigger-dependent extensions and also remains unchanged.
[0038] The third line, 130, represents a first user information (user information #1) field that "may have a base size of five octets plus any trigger-dependent extensions." In this embodiment, the first user information field includes an AID12 value (such as 4001) and may also carry the first eight bits of the IFCS. In other embodiments, the IFCS may be divided into different bit-length portions within the user information field, or it may be entirely contained within a single user information field. The IFCS can be calculated by including all fields of the frame up to and including padding, where the first and second user information fields are skipped or zeroed out during the calculation. The first user information field may also include an offset value indicating the position of the last octet of the user information field in the frame (e.g., corresponding to a byte position equal to 16 + c + u × n - 1, where c and u represent the sizes of the public information field and the user information field, respectively, and n represents the total number of user information fields).
[0039] The fourth line, 135, indicates the second user information (user information #2) field, which "may also have five octets plus any size depending on the trigger portion." The second user information field may include another AID12 value (e.g., 4002 or again 4001) and the remaining twenty-four bits of the IFCS. Together, the first and second user information fields carry the entire thirty-two-bit IFCS.
[0040] Line 5, 140, corresponds to the third user information field (User Information #3), which "may have the same nominal size as the previous user information fields and remain unchanged." The additional lines, indicated by ellipses and collectively represented as line 145, correspond to other user information fields (up to User Information #n), each of which carries user-specific information according to its respective function while also having a similar size.
[0041] The following line 150 corresponds to the padding field, which can have a variable length and is used to align the frame to the desired boundary. The last line 155 corresponds to the Frame Check Sequence (FCS) field, which provides four octets for frame end integrity verification. Figure 1 The arrangement shown allows a portion of the integrity verification information to be located within the frame, rather than just at the end, thus allowing intermediate integrity verification during reception while maintaining compatibility with existing frame formats.
[0042] Figure 2 Another example of a wireless communication frame format according to an embodiment is shown. Frame 200 is presented in a table format with three columns: field column 205, size (octet) column 210, and content column 215. Each row in the table corresponds to a portion of frame 200 and identifies the size and content associated with that portion.
[0043] like Figure 2 As shown, the first line 220 corresponds to the MAC header of the trigger frame, which may include information identifying the frame type, duration, and addressing fields. The MAC header may have a size of sixteen octets and remains unchanged relative to existing frame formats. The second line 225 corresponds to a common information field that provides information common to all user devices. The common information field may have a nominal size of eight octets plus any trigger-dependent extensions and also remains unchanged.
[0044] The third line, 230, represents a first user information field that "may have a basic size of five octets plus any trigger-dependent extension." In this embodiment, the first user information field includes an AID12 value (such as 4003) and an offset indicating the position of the last user information field in the frame (e.g., 16 + c + u × n - 1, where c and u represent the size of the public information field and the user information field, respectively, and n represents the total number of user information fields). The first user information field may also include other trigger-dependent information or reserved bits.
[0045] Lines 235 and 240 represent the second and third user information fields, each of which may have five octets plus any size depending on the trigger portion, and remain unchanged relative to the traditional frame format.
[0046] The following line 245 corresponds to the penultimate user information field (user information #n-1) that "may include an AID12 value (e.g., 4001) and a portion of the IFCS (such as the first eight bits of the IFCS calculated from all previous fields of the frame)". The IFCS can be determined up to this field and by excluding all frame portions of this field, skipping or zeroing out the appropriate bits specified by the implementation.
[0047] The next line, 250, corresponds to the last user information field (user information #n) which "may include another AID12 value (e.g., 4002 or again 4001) and the remaining twenty-four bits of the IFCS". The second-to-last user information field, 245, together with the last user information field, 250, carries the entire thirty-two-bit IFCS.
[0048] The next line, 255, corresponds to the padding field, which can have a variable length and is used for byte alignment. The last line, 260, corresponds to the FCS field, which provides four octets for frame end integrity checks. Figure 2 The arrangement shown allows integrity information to be located toward the end of the frame, thus enabling intermediate verification of received data using only the portion of the frame preceding the IFCS field while maintaining compatibility with existing frame structures.
[0049] Figure 3This is a flowchart illustrating a method for processing a wireless communication frame performed by a wireless communication device (e.g., a station, STA) according to an embodiment. The method can be performed by the device's controller while cooperating with the PHY to obtain a portion of the frame when receiving a portion of the frame from the wireless medium.
[0050] Step 301 (Receiving a frame including a first user information field). Here, the device (e.g., a wireless communication device) may initiate the reception of a frame and obtain from the PHY at least an initial portion of the frame sufficient to cover the MAC header and common information, as well as the first user information field. In one embodiment, the MAC may configure the PHY to deliver the first x octets, where x is selected to include the MAC header (nominal 16 octets; see [link]). Figure 1 and Figure 2 The initial bytes obtained in step 301 include lines 120 and 220, the public information field (size c octets plus any trigger-dependent extensions; see lines 125 and 225), and the basic length u of the first user information field (nominal 5 octets plus any trigger-dependent extensions; see lines 130 and 230). Therefore, x can be represented as x = 16 + c + u, where c and u are determined according to the applicable trigger format. Figure 1 and Figure 2 The first user information field in the embodiment carries an IFCS indicator and location information.
[0051] Step 302 (Detecting whether the frame includes an Intermediate Frame Check Sequence (IFCS)). In this step, after receiving the initial portion of the frame, the wireless communication device may analyze the contents of a first user information field to determine whether an IFCS exists (e.g., detecting whether the frame includes an IFCS and whether the location information of the IFCS contained in the first user information field is available). In one embodiment, the device may examine the first user information field (see...). Figure 1 and 2 The 12-bit AID12 subfield within lines 130 and 230 of the document. Specific AID12 values (such as 4001 or 4003) act as indicators carried by the frame immediately following the public information field (see [link to document]). Figure 1 ) or toward the end of the frame (see Figure 2 The IFCS identifier is used to determine if the frame conforms to a legacy format when the AID12 value differs from these specified identifiers. Therefore, the detection step provides a decision point for subsequent processing (i.e., legacy processing or additional integrity verification) based on signaling embedded in the first user information field.
[0052] Step 303 (If no IFCS is indicated, process as a conventional frame). In this step, when the information contained in the first user information field does not indicate the presence of an IFCS, the wireless communication device can process the frame according to conventional frame processing procedures (e.g., process the frame without IFCS verification). In this case, the frame can be treated as a regular trigger frame or data frame containing only the final FCS for frame end verification. The device can therefore bypass any intermediate integrity operations and directly perform normal MAC layer processing (such as parsing subsequent user information fields for scheduling, uplink resource allocation, or payload extraction). This conditional branching ensures backward compatibility (i.e., frames sent by conventional APs or devices that do not include IFCS support or IFCS location indication support can still be received and processed without errors).
[0053] Step 304 (Determining the location of one or more additional user information fields including the IFCS) In this step, the wireless communication device may determine the location of one or more additional user information fields carrying the IFCS when the AID12 value or other indicator in the first user information field indicates the presence of the IFCS (e.g., and when the location information of the IFCS is available). Figure 1 and Figure 2 As shown, this determination is based on positional information (such as an offset value) encoded within the first user information field. The offset can specify, for example, the position of the last eight bits of the final user information field in the frame (e.g., 16 + c + u × n - 1, where c is the common information length and u is the user information field size). Using this offset, the apparatus can calculate the byte range or field index corresponding to the user information field containing the IFCS portion. In one embodiment, when AID12 = 4001, the IFCS may immediately follow the common information field (e.g., ...). Figure 1 As shown in the image), when AID12=4003, IFCS can reside near the end of the frame (as shown in the image). Figure 2 (As shown in the diagram). This determination allows the device to identify which parts of the frame must be acquired for verification in subsequent steps.
[0054] Step 305 (Obtain the indicated fields and calculate the checksum). In this step, once the location of the user information field carrying the IFCS is determined, the wireless communication device can request and obtain those portions of the frame from the PHY. In one embodiment, the MAC configures the PHY to deliver an additional octet covering the indicated user information field, or to signal a frame termination condition if the frame terminates earlier than expected. After receiving the desired portion, the device calculates a checksum (e.g., CRC or equivalent integrity code) from the appropriate segment of the frame. This segment may include all fields of the frame except those carrying the IFCS itself, thus excluding the IFCS from the calculation window. This checksum represents the expected intermediate integrity result of the received frame segment and serves as the basis for comparisons in subsequent verification steps.
[0055] Step 306 (Verify IFCS). In one embodiment, when the location information of the IFCS is available, the wireless communication device may verify the IFCS based on one or more user information fields that include the IFCS. For example, in this step, the wireless communication device may compare the calculated checksum obtained in step 305 with the IFCS obtained from one or more user information fields identified in step 304. A match between the calculated value and the IFCS indicates that the frame segment up to the IFCS location has been received error-free. If these values do not match, the device determines that an integrity error has occurred within the coverage portion of the frame. In a particular embodiment, the same CRC polynomial or generator function used for the end-of-frame (FCS) can be used to implement the verification, thereby allowing intermediate verification while maintaining consistency with existing frame formats. The verification step ensures that corrupted data can be detected early (e.g., before the full frame is received), thereby reducing unnecessary processing and improving reliability in high-throughput or congested environments.
[0056] Step 307 (Continue normal processing or handle verification error). Following the comparison in step 306, the wireless communication device can continue based on the verification result. When the calculated checksum matches the received IFCS, the device can resume normal MAC layer frame processing (e.g., parsing any remaining user information fields, extracting payload or scheduling data, updating receive statistics, or generating an acknowledgment (ACK / BA) response). This allows the verified portion of the frame to be used immediately, supporting low-latency and reliable operation. Conversely, when the comparison indicates a mismatch, the device can perform error handling, including discarding the corrupted frame, requesting retransmission, or marking the event for higher-level recovery. This decision step completes the intermediate integrity verification process and returns the receiver to its standard operating procedure for subsequent frames. In some embodiments, the wireless communication device can construct a frame that includes a common information field and one or more user information fields following the common information field, wherein the first user information field includes an AID value indicating that the frame includes an IFCS and location information indicating the location of one or more additional user information fields including an IFCS or indicating that an IFCS column is included within the first user information field, and the wireless communication device can transmit the frame to another wireless communication device.
[0057] Figure 4 This is a block diagram of an electronic device in a network environment 400 according to an embodiment, the electronic device being configured to process wireless communication frames including IFCS.
[0058] Reference Figure 4 In network environment 400, electronic device 401 can communicate with electronic device 402 via a first network 498 (e.g., a short-range wireless communication network), or with electronic device 404 or server 408 via a second network 499 (e.g., a long-range wireless communication network). Electronic device 401 can communicate with electronic device 404 via server 408. Electronic device 401 may include processor 420, memory 430, input device 450, sound output device 455, display device 460, audio module 470, sensor module 476, interface 477, haptic module 479, camera module 480, power management module 488, battery 489, communication module 490, subscriber identification module (SIM) 496, connection terminal 478, or antenna module 497. In one embodiment, at least one component (e.g., display device 460 or camera module 480) may be omitted from electronic device 401, or one or more other components may be added to electronic device 401. Some components may be implemented as a single integrated circuit (IC). For example, sensor module 476 (e.g., fingerprint sensor, iris sensor, or illuminance sensor) may be embedded in display device 460 (e.g., display).
[0059] The processor 420 can execute software (e.g., program 440) to control at least one other component (e.g., hardware or software component) of the electronic device 401 combined with the processor 420, and can perform various data processing or calculations.
[0060] As at least part of data processing or computation, processor 420 may load commands or data received from other components (e.g., sensor module 476 or communication module 490) into volatile memory 432, process the commands or data stored in volatile memory 432, and store the resulting data in non-volatile memory 434. Processor 420 may include a main processor 421 (e.g., a central processing unit (CPU) or application processor (AP)) and an auxiliary processor 423 (e.g., a graphics processing unit (GPU), image signal processor (ISP), sensor hub processor, or communication processor (CP)) that operates independently of or in conjunction with the main processor 421. Additionally or optionally, auxiliary processor 423 may be adapted to consume less power than the main processor 421 or to perform specific functions. Auxiliary processor 423 may be implemented separately from or as part of the main processor 421.
[0061] When the main processor 421 is inactive (e.g., in sleep mode), the auxiliary processor 423 may, in place of the main processor 421, control at least some of the functions or states associated with at least one component of the electronic device 401 (e.g., display device 460, sensor module 476, or communication module 490). Alternatively, when the main processor 421 is active (e.g., executing an application), the auxiliary processor 423 may, together with the main processor 421, control at least some of the functions or states associated with at least one component of the electronic device 401 (e.g., display device 460, sensor module 476, or communication module 490). The auxiliary processor 423 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., camera module 480 or communication module 490) functionally associated with the auxiliary processor 423.
[0062] Memory 430 may store various data used by at least one component of electronic device 401 (e.g., processor 420 or sensor module 476). The various data may include, for example, software (e.g., program 440) and input or output data for commands associated therewith. Memory 430 may include volatile memory 432 and / or non-volatile memory 434. Non-volatile memory 434 may include internal memory 436 and / or external memory 438.
[0063] The program 440 may be stored as software in the memory 430 and may include, for example, an operating system (OS) 442, middleware 444, or application 446.
[0064] Input device 450 can receive commands or data from outside electronic device 401 (e.g., a user) that will be used by other components of electronic device 401 (e.g., processor 420). Input device 450 may include, for example, a microphone, mouse, or keyboard.
[0065] The sound output device 455 can output sound signals to the outside of the electronic device 401. The sound output device 455 may include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as playing multimedia or recording, and the receiver can be used to receive incoming calls. The receiver can be implemented separately from the speaker or as part of the speaker.
[0066] Display device 460 can visually provide information to the outside of electronic device 401 (e.g., to a user). Display device 460 may include, for example, a display, a holographic device, or a projector, and a control circuitry system for controlling a corresponding one of the display, holographic device, and projector. Display device 460 may include a touch circuitry system adapted to detect touch, or a sensor circuitry system (e.g., a pressure sensor) adapted to measure the intensity of the force caused by touch.
[0067] The audio module 470 can convert sound into electrical signals and vice versa. The audio module 470 can obtain sound via the input device 450, or output sound via the sound output device 455 or headphones of the external electronic device 402 that is directly (e.g., wired) or wirelessly connected to the electronic device 401.
[0068] Sensor module 476 can detect the operating state of electronic device 401 (e.g., power or temperature) or the environmental state outside electronic device 401 (e.g., user state), and then generate an electrical signal or data value corresponding to the detected state. Sensor module 476 may include, for example, a gesture sensor, gyroscope sensor, atmospheric pressure sensor, magnetic sensor, accelerometer, grip sensor, proximity sensor, color sensor, infrared (IR) sensor, biometric sensor, temperature sensor, humidity sensor, or illuminance sensor.
[0069] Interface 477 may support one or more specified protocols for direct (e.g., wired) or wireless connection between electronic device 401 and external electronic device 402. Interface 477 may include, for example, a High Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital Card (SD) interface, or an audio interface.
[0070] Connection terminal 478 may include a connector through which electronic device 401 can be physically connected to external electronic device 402. Connection terminal 478 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0071] The haptic module 479 can convert electrical signals into mechanical stimulation (e.g., vibration or motion) or electrical stimulation that can be recognized by a user via touch or kinesthesia. The haptic module 479 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0072] Camera module 480 can capture still or moving images. Camera module 480 may include one or more lenses, an image sensor, an image signal processor, or a flash. Power management module 488 manages the power supplied to electronic device 401. Power management module 488 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
[0073] Battery 489 can supply power to at least one component of electronic device 401. Battery 489 may include, for example, a non-rechargeable primary battery, a rechargeable rechargeable battery, or a fuel cell.
[0074] Communication module 490 can support establishing a direct (e.g., wired) or wireless communication channel between electronic device 401 and external electronic devices (e.g., electronic device 402, electronic device 404, or server 408), and perform communication via the established communication channel. Communication module 490 may include one or more communication processors that can operate independently of processor 420 (e.g., AP), and support direct (e.g., wired) or wireless communication. Communication module 490 may include wireless communication module 492 (e.g., cellular communication module, short-range wireless communication module, or Global Navigation Satellite System (GNSS) communication module) or wired communication module 494 (e.g., local area network (LAN) communication module or power line communication (PLC) module). A corresponding one of these communication modules can communicate via a first network 498 (e.g., a short-range communication network such as Bluetooth). TM The communication module 492 communicates with external electronic devices via a wireless Fidelity (Wi-Fi Direct) or Infrared Data Association (IrDA) standard, or a second network 499 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network such as a LAN or a wide area network (WAN)). These various types of communication modules can be implemented as a single component (e.g., a single IC) or as multiple components that are separate from each other (e.g., multiple ICs). The wireless communication module 492 can use user information (e.g., International Mobile Subscriber Identity (IMSI)) stored in the user identification module 496 to identify and authenticate electronic devices 401 in the communication network (e.g., a first network 498 or a second network 499).
[0075] Antenna module 497 can transmit or receive signals or power to or from the outside of electronic device 401 (e.g., external electronic device). Antenna module 497 may include one or more antennas, and thus at least one antenna suitable for a communication scheme used in a communication network (such as a first network 498 or a second network 499) may be selected, for example, by communication module 490 (e.g., wireless communication module 492). Signals or power can then be transmitted or received between communication module 490 and external electronic device via the selected at least one antenna.
[0076] Commands or data can be sent or received between electronic device 401 and external electronic device 404 via server 408 connected to the second network 499. Each of electronic devices 402 and 404 can be a device of the same or different type as electronic device 401. All or some of the operations to be performed at electronic device 401 can be performed at one or more of the external electronic devices 402 and 404 and server 408. For example, if electronic device 401 is required to automatically perform a function or service, or to perform a function or service in response to a request from a user or another device, electronic device 401 may request one or more external electronic devices to perform at least a portion of the function or service, rather than performing the function or service, or in addition to performing the function or service, electronic device 401 may request one or more external electronic devices to perform at least a portion of the function or service. One or more external electronic devices receiving the request may perform at least a portion of the requested function or service, or additional functions or services related to the request, and transmit the result of the performance to electronic device 401. Electronic device 401 may provide the result, with or without further processing, as at least part of a response to the request. For this purpose, cloud computing, distributed computing, or client-server computing technologies can be used, for example.
[0077] Refer to the above Figures 1 to 3 In the context of the described embodiments, the method for processing wireless communication frames including IFCS can be provided by Figure 4 One or more components of the electronic device 401 shown herein perform the actions. For example, a processor 420, which may include processing circuitry within a communication processor (CP) or communication module 490, may be configured to perform actions such as those described in conjunction with... Figure 3The control logic described describes the steps of detecting, determining, and verifying IFCS. The communication module 490, together with the antenna module 497, provides the PHY and MAC functions necessary for receiving wireless communication frames from another device (e.g., an AP or another station) and providing the frame portions to the processor 420 for IFCS-related processing. In this respect, the processor 420 and the communication module 490 together constitute a configuration for performing... Figure 3 The hardware and firmware of the invention method.
[0078] In some embodiments, at least a portion of the logic for performing IFCS-related processing may be implemented in dedicated hardware of the communication module 490 (e.g., in modem circuitry, MAC controller, or PHY chipset), while other portions may be implemented as software instructions executed by the processor 420 (e.g., main processor 421 and / or auxiliary processor 423). When implemented in hardware, the functions disclosed herein may be implemented as circuitry within the SoC or integrated communication controller of the electronic device 401. When implemented in software, the corresponding instructions may be stored in memory 430 (e.g., non-volatile memory 434) and executed by the processor 420 to perform the processing related to... Figure 3 The process shown corresponds to the operation. Therefore, Figure 4 The electronic device 401 shown provides an example of a hardware platform configured to perform the methods described in the foregoing figures.
[0079] Figure 5 A system including STA 505 and AP 510 communicating with each other is shown. The STA may include various methods disclosed herein that can be performed (e.g., Figure 1 The method shown includes a radio 515 and a processing circuit (or means for processing) 520. For example, the processing circuit 520 may receive transmissions from AP 510 via the radio 515, and the processing circuit 520 may transmit signals to AP 510 via the radio 515.
[0080] Figure 5 The system is Figures 1 to 4 The embodiments described herein provide an example implementation environment. Specifically, STA505 may correspond to Figure 4 The electronic device 401, and capable of performing such Figure 3 The method shown includes processing wireless communication frames containing IFCS information. Processing circuitry 520, which may include a communication processor or controller integrated within STA 505, can perform detection, determination, and verification operations based on information contained in the user information field of the received frame. Radio 515 provides a PHY interface for receiving and transmitting frames, while AP 510 can be used as a transmitting device for generating and transmitting frames containing IFCS information. Therefore, Figure 5The system illustrated illustrates a real wireless link in which the frame processing methods disclosed herein can be implemented in hardware and software within the STA 505 and AP 510. In some embodiments, the AP 510 may also include logic or circuitry configured to construct frames including an IFCS indicator and corresponding location information in one or more user information fields, thereby enabling a compatible receiving device (such as the STA 505) to perform early or segment integrity verification as described above.
[0081] Embodiments of the subject matter and operations described in this specification may be implemented in digital electronic circuit systems, or in computer software, firmware, or hardware including the structures disclosed in this specification and their equivalents, or in a combination of one or more of these. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs (i.e., one or more modules of computer program instructions) encoded on a computer storage medium to be executed by or to control the operation of a data processing device. Optionally or additionally, the program instructions may be encoded on artificially generated propagating signals (e.g., machine-generated electrical, optical, or electromagnetic signals) generated to encode information for transmission to a suitable receiver device for execution by the data processing device. The computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof, or may be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof. Furthermore, although the computer storage medium is not a propagating signal, it may be a source or destination of computer program instructions encoded in artificially generated propagating signals. Computer storage media may also be one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices), or may be included within one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices). Furthermore, the operations described herein can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources.
[0082] While this specification may contain numerous specific details of implementation, these details should not be construed as limiting the scope of any claimed subject matter, but rather as descriptions of features specific to particular embodiments. Specific features described in the context of individual embodiments in this specification may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in a particular combination and even initially claimed in this way, one or more features from a claimed combination may be removed from the combination in some cases, and the claimed combination may be for sub-combinations or variations thereof.
[0083] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or sequentially, or to perform all of the shown operations to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0084] Therefore, specific embodiments of the subject matter have been described herein. Other embodiments are within the scope of the appended claims. In some cases, the actions set forth in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific order or sequence shown to achieve the desired results. In certain embodiments, multitasking and parallel processing can be advantageous.
[0085] As those skilled in the art will recognize, the innovative concepts described herein can be modified and varied across a wide range of applications. Therefore, the scope of the claimed subject matter should not be limited to any particular exemplary teachings discussed above, but is defined by the appended claims.
Claims
1. A method for processing frames in a wireless communication device, the method comprising: The frame is received via a wireless communication device, and the frame includes a first user information field. The frame is detected by a wireless communication device and based on information contained in the first user information field to determine whether the frame includes an intermediate frame check sequence and whether the location information of the intermediate frame check sequence is available. When the frame includes an intermediate frame check sequence and the location information of the intermediate frame check sequence is available, the location of one or more additional user information fields, including the intermediate frame check sequence, is determined by a wireless communication device based on the location information contained in the user information field following the public information field of the frame. When the frame includes an intermediate frame check sequence and the location information of the intermediate frame check sequence is available, the intermediate frame check sequence is verified by a wireless communication device based on the one or more additional user information fields; and Based on the verification results, further processing of the frame is performed or the frame is discarded.
2. The method of claim 1, wherein, The information included in the first user information field includes the associated identifier value.
3. The method of claim 2, wherein, The association identifier value identifies at least one of the following: whether the intermediate frame verification sequence is included immediately after the public information field of the frame and whether the intermediate frame verification sequence is included in the subsequent portion of the frame following one or more user information fields.
4. The method of claim 1, wherein, The location information included in the first user information field includes an offset indicating the location of the user information field carrying the intermediate frame verification sequence.
5. The method of claim 1, wherein, The steps of verifying the intermediate frame check sequence include: calculating a check value for a portion of the frame, and comparing the check value with the intermediate frame check sequence included in the one or more additional user information fields.
6. The method according to claim 5, wherein, The step of calculating the check value excludes the one or more user information fields, including the intermediate frame check sequence, from the cyclic redundancy check calculation for the frame.
7. The method according to any one of claims 1 to 6, wherein the method further comprises: When the information contained in the first user information field does not indicate the position of the intermediate frame verification sequence, the frame is processed by the wireless communication device without intermediate frame verification.
8. The method according to claim 1, wherein, Wireless communication devices include stations.
9. A wireless communication device, comprising: A receiver is configured to receive frames, the frames including a first user information field; as well as The controller is configured as follows: The frame is used to detect whether it includes an intermediate frame verification sequence based on information contained in the first user information field. Based on the location information contained in the first user information field, the location of one or more additional user information fields, including the intermediate frame verification sequence, is determined, and The intermediate frame verification sequence is verified based on one or more of the additional user information fields.
10. The wireless communication device according to claim 9, wherein, The information included in the first user information field includes the associated identifier value.
11. The wireless communication device according to claim 10, wherein, The associated identifier value indicates whether the intermediate frame verification sequence is included immediately after the public information field of the frame or in the subsequent portion of the frame following one or more user information fields.
12. The wireless communication device according to claim 9, wherein, The location information included in the first user information field includes an offset indicating the location of the user information field carrying the intermediate frame verification sequence.
13. The wireless communication device according to claim 9, wherein, The controller is also configured to: calculate a check value for a portion of the frame and compare the check value with an intermediate frame check sequence included in one or more additional user information fields.
14. The wireless communication device according to claim 13, wherein, The step of calculating the check value excludes the one or more user information fields, including the intermediate frame check sequence, from the cyclic redundancy check calculation for the frame.
15. The wireless communication device according to claim 9, wherein, The first user information field is located immediately after the public information field in the frame.
16. The wireless communication device according to any one of claims 9 to 15, wherein, The wireless communication device includes: a station configured to receive a trigger frame sent from an access point as the frame and to perform detection, determination, and verification steps based on the trigger frame.
17. A method for transmitting frames in a wireless communication device, comprising: Construct the frame, wherein the frame includes: Public information fields, and One or more user information fields, following a common information field, wherein the first user information field includes: The associated identifier value indicates that the frame includes an intermediate frame check sequence, and Location information, indicating the location of one or more additional user information fields including the intermediate frame verification sequence, or indicating that the intermediate frame verification sequence is included within the first user information field; and The frame is then sent to another wireless communication device.
18. The method according to claim 17, wherein, The associated identifier value indicates whether the intermediate frame verification sequence is included immediately after the public information field or in the subsequent portion of the frame following one or more conventional user information fields.
19. The method according to claim 17, wherein, When the intermediate frame check sequence is included in one or more of the additional user information fields, the location information includes an offset indicating the position of the last eight bits of the user information field carrying the intermediate frame check sequence.
20. A method for transmitting frames in a wireless communication device, the method comprising: Construct a frame that includes a public information field and one or more user information fields; Generate an intermediate frame verification sequence for a portion of the frame; The intermediate frame verification sequence is included in one or more user information fields immediately following the public information field or at a position indicated by a user information field following the public information field; and The frame is then sent to another wireless communication device.