Methods, apparatus and computer-readable storage media for speaker polarity patterning
By identifying speaker driver information and location, defining filter settings, calculating speaker polarity patterns, and applying FIR filters, the complexity of speaker installation and calibration is solved, enabling rapid installation and optimized audio settings.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- B&P SYST CO LTD
- Filing Date
- 2022-01-19
- Publication Date
- 2026-06-30
AI Technical Summary
The existing speaker installation and mounting process is complex, especially for untrained people, making it difficult to optimize audio settings through feedback and sound calibration environments.
By identifying the speaker driver information and location, defining filter settings, calculating the speaker polarity pattern, and applying a finite impulse response (FIR) filter to generate an optimized speaker configuration, the polarity pattern is visualized and optimized using a graphical user interface.
It enables quick speaker installation and mounting, simplifies the audio setup calibration process, and improves the accuracy and consistency of audio effects.
Smart Images

Figure CN117136560B_ABST
Abstract
Description
Background Technology
[0001] The ability to quickly install and secure loudspeakers, and their mounting on ceilings, walls, and other surfaces, is a significant concern. Furthermore, the acoustic fingerprint of a particular environment will vary depending on its size and anatomy. Using feedback and sound to calibrate the environment can aid in tuning some loudspeakers (loudspeaker type, angle, location, output amplitude, angle, etc.). However, feedback and calibration are not always easy to perform, especially for those without proper training. Pre-installation analysis of the environmental anatomy using modeling algorithms to identify fundamental design considerations can optimize the audio setup process. Summary of the Invention
[0002] One example embodiment may provide: identifying a speaker profile in memory, wherein the speaker profile includes: a plurality of drivers, specified dimensions of the drivers, models of the drivers, locations of the drivers, and orientations of the drivers within the speaker enclosure of the speaker; defining one or more arrangements of filter settings to be performed during simulation, wherein each filter setting includes one or more amplitude and phase adjustments for each of a plurality of frequency bands to be applied to each driver within the speaker; iterating the arrangement of filter settings as each filter setting is applied to the driver, and calculating a speaker polarity pattern; storing the calculated polarity pattern in a database; selecting from the database the polarity pattern that most closely matches a target polarity pattern; and applying filter settings corresponding to the selected polarity pattern to generate an FIR applied to each driver within the speaker.
[0003] Another example embodiment may include a processor configured to: identify a speaker profile in memory, wherein the speaker profile includes: a plurality of drivers, specified dimensions of the drivers, models of the drivers, locations of the drivers, and orientations of the drivers within the speaker enclosure of the speaker; define one or more arrangements of filter settings to be performed during simulation, wherein each filter setting includes one or more amplitude and phase adjustments for each of a plurality of frequency bands to be applied to each driver within the speaker; iterate the arrangement of filter settings as each filter setting is applied to the driver, and calculate a speaker polarity pattern; store the calculated polarity pattern in a database; select from the database the polarity pattern that most closely matches a target polarity pattern; and apply filter settings corresponding to the selected polarity pattern to generate an FIR applied to each driver within the speaker.
[0004] Another example embodiment may include a non-transitory computer-readable storage medium configured to store instructions that, when executed, cause the processor to perform the following operations: identify a speaker profile in memory, wherein the speaker profile includes: a plurality of drivers, specified dimensions of the drivers, models of the drivers, locations of the drivers, and orientations of the drivers within the speaker enclosure of the speaker; define one or more arrangements of filter settings to be performed during simulation, wherein each filter setting includes one or more amplitude and phase adjustments for each of a plurality of frequency bands to be applied to each driver within the speaker; iterate the arrangement of filter settings as each filter setting is applied to the driver, and calculate a speaker polarity pattern; store the calculated polarity pattern in a database; select from the database the polarity pattern that most closely matches a target polarity pattern; and apply filter settings corresponding to the selected polarity pattern to generate an FIR applied to each driver within the speaker. Attached Figure Description
[0005] Figure 1A A multi-speaker configuration for a specific venue is shown according to an example embodiment.
[0006] Figure 1B Different speaker optimization configurations for a specific venue are shown according to example embodiments.
[0007] Figure 2A A dual-speaker array configuration according to an example embodiment is shown.
[0008] Figure 2B A three-speaker array configuration according to an example embodiment is shown.
[0009] Figure 2C A four-speaker array configuration according to an example embodiment is shown.
[0010] Figure 3A An example graphical user interface for a speaker array model according to an example embodiment is shown.
[0011] Figure 3B A detailed speaker array model with positional specifications and aiming angles according to an example embodiment is shown.
[0012] Figure 4 An example graphical user interface for a single speaker model according to an example embodiment is shown.
[0013] Figure 5A An example speaker housing according to an example embodiment is shown.
[0014] Figure 5BAn internal view of an example speaker housing according to an example embodiment is shown.
[0015] Figure 6 A multi-driver speaker pairing configuration according to an example embodiment is shown.
[0016] Figure 7A The first part of the polar pattern speaker creation process according to an example embodiment is shown.
[0017] Figure 7B The second part of the polar pattern speaker creation process according to an example embodiment is shown.
[0018] Figure 8 A first example model of a polarized audio speaker patterned user interface according to an example embodiment is shown.
[0019] Figure 9 A second example model of a polarized audio speaker patterned user interface according to an example embodiment is shown.
[0020] Figure 10 A third example model of a polarized audio speaker patterned user interface according to an example embodiment is shown.
[0021] Figure 11A A table showing values for identifying the optimal polarity pattern according to an example embodiment is provided.
[0022] Figure 11B A graphical model of a polarized audio speaker pattern displayed in a user interface according to an example embodiment is shown.
[0023] Figure 12 An example process based on an example embodiment is shown.
[0024] Figure 13 A system configuration of a computer-readable medium according to an example embodiment is shown. Detailed Implementation
[0025] It is readily understood that the immediate components generally described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of embodiments of at least one of the methods, apparatuses, non-transitory computer-readable media, and systems illustrated in the drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments.
[0026] In one or more embodiments, the immediate features, structures, or characteristics throughout this specification may be combined in any suitable manner. For example, throughout this specification, the phrases “example embodiment,” “some embodiments,” or other similar language are used to refer to the fact that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment. Therefore, the phrases “example embodiment,” “some embodiments,” “other embodiments,” or other similar language appearing throughout this specification do not necessarily refer to the same set of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0027] Furthermore, although the term "message" may be used in the description of the embodiments, this application is applicable to various types of network data, such as packets, frames, datagrams, etc. The term "message" also includes packets, frames, datagrams, and their equivalents. Moreover, although certain types of messages and signaling may be depicted in the example embodiments, they are not limited to a certain type of message, nor is this application limited to a certain type of signaling.
[0028] Example embodiments provide a loudspeaker configuration and simulation application that generates polarity patterns based on certain inputs and design goals, and stores values for iterative optimization and selection purposes. Furthermore, some graphical user interfaces provide a visual implementation of the polarity patterns for multi-driver loudspeakers and / or loudspeaker arrays. By applying a finite impulse response (FIR) filter to each driver or group of drivers driving one or more loudspeakers, the polarity pattern can be identified and reduced to an ideal or near-ideal pattern that best achieves the design goals.
[0029] The required speaker polarity pattern typically depends on the geometry of the specific venue. For example, venues with flat surfaces, such as traffic areas, require narrower polarity patterns, while venues with tiered seating and balconies, such as theaters, lecture halls, and conference rooms, require wider speaker polarity patterns. Depending on the use case, the venue may also require different speaker polarity patterns. (See reference...) Figure 1B The loudspeaker system can be optimized for lower seat 122 only, or for both lower seat 132 and upper seat 130. Electronic control of settings for different use cases is possible by applying a unique FIR filter to each driver in the loudspeaker enclosure.
[0030] Figure 1A A multi-speaker configuration for a specific venue is illustrated according to an example embodiment. (Refer to...) Figure 1AThis example provides a combination of a single-speaker array (single enclosure) 112 and a dual-speaker array (dual enclosure) 114 as a potential loudspeaker implementation for a specific site with a particular site geometry. For example, the rated value of the dual enclosure could be 96 dB at 158 meters, as indicated by the second line 118; while the rated value of the single enclosure could be 96 dB at 112 meters, as indicated by the first line 116. The modeling required to determine the site target can provide loudspeaker driver configurations to apply selective filters and generate polarity output patterns, which are ideal for certain geometries and desired angles that will be applied to the site audio.
[0031] Figure 2A A dual-speaker array configuration according to an example embodiment is shown. (Refer to...) Figure 2A Example dual speaker array 212 is shown as having a specific splay plate that defines the angle between the speakers and their relative positions (i.e., splay angle) when mounted from a wall or ceiling. Figure 2B The spread angles in array 214 include a smaller spread angle 222 defined by a smaller spread angle and a larger spread angle 226 defined by a larger spread plate. In this example, the total number of speakers can include three. Figure 2C The image shows a four-speaker array configuration 216 with three different spread angles.
[0032] Figure 3A An example loudspeaker array model according to an example embodiment is shown. (Refer to...) Figure 3A The modeling application displays cabinet dimensions, location, spread angle, and other information that can be set during the simulation process used to create the polarity patterned output signal. The desired coverage pattern can be achieved by selecting certain speaker models from a memory that records the speaker's output characteristics and possible mounting bracket array configuration data. Basic array information may include: cabinet type 314 (speaker model), aiming angle (angle relative to site geometry), and spread angle 312 (angle between one or more speakers). The use of multiple drivers (within one or more speakers) and amplifier channels for a set of speakers provides the ability to beamform a wide range of vertical patterns based on different cabinet configurations. Vertical patterns are generated by varying the phase and / or amplitude of the driver pairs using linear-phase finite-impulse-response (FIR) filters. The desired vertical coverage angle is mostly between 20 and 100 degrees, with most designs approaching 40 degrees.
[0033] Figure 3B A detailed loudspeaker array model with positional specifications and aiming angles according to an example embodiment is shown. (Refer to...) Figure 3BThe dual-casing configuration 350 includes a housing 354 with a driver placement 356 based on a specific driver placement angle 358. A Y-axis position 366 is shown together with a specific aiming angle 362. An X-axis position 364 is also illustrated for accurate driver placement. The angle between the housings is the unfolding angle. The driver placement position is the basis for calculating the driver spacing.
[0034] Figure 4 An example graphical user interface for a single speaker model according to an example embodiment is shown. (Refer to...) Figure 4 The exemplary illustration includes a detailed schematic diagram 400 of a speaker enclosure 414 configured with a mounting bracket 412 at a specific spread angle 416. These values can be varied to accommodate different polarity spectral targets.
[0035] Figure 5A An example speaker housing according to an example embodiment is shown. References Figure 5A The speaker enclosure 512 is shown as a complete box that can be mounted on a wall or ceiling.
[0036] Figure 5B An internal view of an example speaker housing according to an example embodiment is shown. (Reference) Figure 5B The multi-driver loudspeaker 512 is shown as having various drivers 514 / 516 including low-frequency, high-frequency, and mid-frequency ranges. By applying a finite impulse response (FIR) filter to each driver or driver group within the loudspeaker enclosure, the polarity pattern of the loudspeaker can be optimized to best achieve the design objectives.
[0037] Figure 6 A multi-driver speaker pairing configuration according to an example embodiment is shown. (Reference) Figure 6 The drivers are organized in pairs (612-626) to drive various loudspeakers in one or more loudspeaker enclosures. Each loudspeaker can be customized to achieve a target vertical polarity pattern identified by a specific coverage angle. The simulations performed can generate various polarity patterns, which can be stored in a database and compared with an ideal pattern for final selection. This selection will produce FIR filter values applied to the loudspeaker configuration to produce optimal results.
[0038] In one example, the identified coverage angle quantifies the polarity pattern. The coverage angle is defined as the angle extending from the axis (0 dB) to a point of -6 dB on each side. The chosen nominal value will indicate where most of the acoustic energy goes. In an example polarity diagram, the angle extending from the axis (0 dB) to the -6 dB point is 30° on each side, so its coverage angle is 60°. The polarity pattern is frequency-dependent, and different frequency bands applied to the same device will produce different polarity patterns. A coverage diagram can be used to view a broadband view of the polarity diagram, rather than viewing the polarity diagram for each frequency band. The polarity diagram will ideally represent the coverage diagram, which follows a 6 dB line on each side relative to the x-axis. Any area on the coverage diagram that is beyond or below the ideal range of the polarity diagram is either too wide or too narrow. It is expected that the frequency range of any signal will not be exactly adjacent to the ideal angular range (e.g., 40 degrees, 50 degrees, 60 degrees, etc.).
[0039] According to an exemplary embodiment, the polarity pattern of a multi-driver loudspeaker can be manipulated by applying one or more FIR filters to each driver group. For each frequency band and driver group, the amplitude and phase response of the FIR filter are selected. A driver group comprises drivers that receive the same audio signal. Each driver can form its own group if desired. In one loudspeaker configuration, a symmetrical polarity pattern may be required; therefore, drivers with vertical symmetry are grouped together. Figure 6 In the example shown, the dual-speaker array has seven driver groups. In another example configuration, a single speaker might have only three driver groups.
[0040] Figure 7A The first part of the polar pattern loudspeaker creation process according to an exemplary embodiment is shown. (Reference) Figure 7A In this example, the polarity pattern database is populated by: preparing polarity data for each driver (712); assigning the drivers to one or more groups (i.e., driver peers) (714); and establishing a filter permutation size “N” as the number of permutations performed with the corresponding number of filters (716). The result is the sum of the polarity patterns for each filter, and the result is stored in the database 718.
[0041] Figure 7B The second part of the polar pattern speaker creation process according to an example embodiment is shown. (Reference) Figure 7B The process continues, defining the target coverage angle (722) and selecting the best match (724) at each frequency band that is most ideal for the target (30, 40, 50, 60 degrees, etc.) of the design angle. Searching the database for the polarity pattern and converting the filter to an FIR filter 726 for each driver group.
[0042] Figure 8A first example model of a speaker polarity pattern user interface according to an example embodiment is shown. (Reference) Figure 8 The polar pattern example interface 800 includes a polar pattern model 812, which is essentially narrow and small in size.
[0043] Figure 9 A second example model of a speaker polarity pattern user interface according to an example embodiment is shown. (Reference) Figure 9 The polar pattern example interface 900 includes a polar pattern model 912, which is more polar pattern model than... Figure 8 The example in the text is narrow and has a finite volume.
[0044] Figure 10 A third example model of a speaker polarity pattern user interface according to an example embodiment is shown. (Reference) Figure 10 The polar pattern example interface 1000 includes a polar pattern model 1012, and... Figure 8 and Figure 9 Compared to the example in the example, the polar pattern model 1012 is essentially circular.
[0045] The process of identifying the optimal polarity pattern and applying the pattern attributes to the loudspeaker array may include: establishing a filter arrangement (arrangement size = N) based on the number of groups, amplitude adjustment range / step size, and phase adjustment range / step size. A polarity sum is calculated for each filter, and the results are saved to a database, repeated "N" times. Each polarity sum consists of a complex summation of the transfer functions of all drivers at each angular position. This calculation takes into account the position, orientation, and filter settings of each driver. The calculation speed depends on the number of drivers, angular resolution, frequency resolution, and the CPU used. The file size for each polarity depends on the angular and frequency resolutions. In one example, 350 KB of data per polarity (1° parallel resolution, 180° meridional resolution, 1 / 24 eight-fold bandwidth). In a coarse setup with an amplitude range of -6 to 0 dB, an amplitude step size of 3 dB, a phase range of -90 to 0 degrees, and a phase step size of 15 degrees, one group will produce N = (6 / 3 + 1) x (90 / 15 + 1) = 21, therefore N = 21. As the number of groups increases, the permutation size will increase to the power of N, which is the number of groups. The value of N will increase with the increase of the amplitude or phase range, and will increase with the decrease of the amplitude or phase step size. This behavior is a natural part of finer parameter settings.
[0046] Another strategy is to perform Acoustic Redundancy Removal Technique (ARRT). In this process, the entire permutation can be examined before polarity calculations are performed to identify any acoustically redundant permutations and remove them before the calculations are executed. This can reduce the total number of permutations by more than 50% when there are increasing numbers of driver groups, thus significantly reducing processing. Another strategy is to perform Polarity Identifier Extraction Technique (PIET), which extracts certain key information to identify and reproduce the polarity pattern without adding additional data. Overall storage size is reduced.
[0047] When searching a stored polarity database of polarity patterns according to a permutation, the target coverage area (degrees) is used as the basis for the application. Polarity patterns closest to that range are selected in the order of closest match, and this process is repeated for each frequency range. Other criteria can be used to limit the selection. For example, lobes outside the coverage area can be identified as non-ideal polarity patterns. Thresholds can be used to limit the number of lobe coverage areas outside a specified coverage area.
[0048] Figure 11A A graphical model of a speaker polarity pattern displayed in a user interface according to an example embodiment is shown. (Reference) Figure 11A Table 1100 provides a set of values associated with specific polarity pattern entries in the database. The entries in this example are sorted by their relevance or proximity to the target parameter. It can be observed that the beamwidth is also part of the comparison process. The resulting set all have a 20-degree output polarity pattern; however, other parameters are part of the selection process because the last-ranked entry 1114 has a large beamwidth. The first entry 1112 has the smallest beamwidth and the highest energy intensity within a coverage angle of "47". Once the polarity pattern is automatically or manually selected at each frequency band, the filters are converted into FIR filters for each driver group, and these filters are applied to the loudspeakers for the output audio signal.
[0049] Figure 11B A graphic model of a polarized audio speaker pattern 1150 displayed in a user interface according to an exemplary embodiment is shown. Reference Figure 11B In Table 1100, option #1 1112 is shown as a darker line 1122 with smaller side lobes outside the coverage area (i.e., 20 degrees). The worst polarity pattern 1114 is also shown 1124 to illustrate the size difference between the two patterns.
[0050] Figure 12 An example process according to an example embodiment is shown. References Figure 12Process 1200 may include: identifying (1202) a loudspeaker profile in memory, the loudspeaker profile including multiple drivers, specified dimensions of the drivers, models of the drivers, locations of the drivers, and orientations of the drivers within the loudspeaker enclosure; defining several arrangements of filter settings to be performed during simulation, wherein each filter setting includes amplitude and one or more phase adjustments for each of multiple frequency bands to be applied to each driver within the loudspeaker (1204); iterating the arrangement of filter settings as each filter setting is applied to a driver, and calculating a loudspeaker polarity pattern (1206); storing the calculated polarity pattern in a database (1208); selecting from the database the polarity pattern that most closely matches the target polarity pattern (1210); and applying the filter settings corresponding to the selected polarity pattern to generate a filter applied to each driver within the loudspeaker (1212).
[0051] The process may further include: identifying the target polarity pattern based on the target coverage angle, defining a polarity pattern rating criterion dependent on the target polarity pattern, and calculating a rating for each polarity pattern using the rating criterion, wherein each driver is assigned one or more unique filters. The size of the filter setup arrangement depends on the specified amplitude adjustment range and step size, phase adjustment range and step size, and number of drivers, and each driver at each frequency band has an amplitude value and a phase adjustment value for each filter setup. The values may include: M r =Amplitude adjustment range (dB), M s =Amplitude step size (dB), P r =P Phase adjustment range (degrees), P s = Phase step size (degrees), n = number of drivers, and filter arrangement size N = [(M r / M s +1) × (P r / P s +1)] nThe process may further include: performing Acoustic Redundancy Removal Technique (ARRT), which identifies acoustically redundant filter settings in the arrangement and removes them from the arrangement to reduce the number of arrangements that need to be performed. The process may further include: identifying filter settings and rating criteria for polarity patterns to reproduce the polarity patterns. Rating criteria may include nominal coverage angle, dissimilarity relative to the target polarity pattern, maximum lobe intensity outside the coverage angle, total lobe intensity outside the coverage angle, maximum lobe intensity within the coverage angle, energy intensity within the coverage angle, and maximum amplitude attenuation. The process may further include: iterating through a polarity pattern database and selecting the polarity pattern with the highest similarity to the target polarity pattern. The process may further include: selecting the best match to the target polarity pattern using a polarity pattern sorting pattern that applies one or more parameters from the rating criteria to sort the polarity patterns and select the best match, and the number of polarity patterns calculated is equal to the filter setting arrangement size.
[0052] The operation of the methods or algorithms related to the embodiments disclosed herein may be embodied directly in hardware, in a computer program executed by a processor, or in a combination of both. The computer program may be embodied on a computer-readable medium, such as a storage medium. For example, the computer program may reside in random access memory (“RAM”), flash memory, read-only memory (“ROM”), erasable programmable read-only memory (“EPROM”), electrically erasable programmable read-only memory (“EEPROM”), registers, hard disks, removable disks, optical disc read-only memory (“CD-ROM”), or any other form of storage medium known in the art.
[0053] Figure 13 This is not intended to suggest any limitation on the use or scope of functionality of the embodiments described herein. In any case, compute node 1300 is capable of implementing and / or performing any of the functions described herein.
[0054] Compute node 1300 contains a computer system / server 1302, which can operate with many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for computer system / server 1302 include, but are not limited to, personal computer systems, server computer systems, lightweight clients, rich clients, handheld or notebook computers, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, microcomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices.
[0055] Computer system / server 1302 can be described in the general context of computer system execution instructions (e.g., program modules) executed by the computer system. Generally, program modules may include routines, procedures, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer system / server 1302 can be used in a distributed cloud computing environment where tasks are performed by remote processing devices connected via a communication network. In a distributed cloud computing environment, program modules can reside in local and remote computer system storage media, including memory storage devices.
[0056] like Figure 13 As shown, the computer system / server 1302 in the cloud computing node 1300 is displayed in the form of a general-purpose computing device. The components of the computer system / server 1302 may include, but are not limited to, one or more processors or processing units 1304, system memory 1306, and buses that couple various system components, including system memory 1306, to the processor 1304.
[0057] A bus represents one or more of several types of bus architectures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses that use any of the various bus architectures. Examples are not limiting; such architectures include the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MCA) bus, the Enhanced ISA (EISA) bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0058] Computer system / server 1302 typically includes a variety of computer system readable media. This media can be any available media accessible to computer system / server 1302, and includes volatile and non-volatile media, removable media, and non-removable media. In one embodiment, system memory 1306 implements the flowcharts in other figures. System memory 1306 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1310 and / or cache memory 1312. Computer system / server 1302 may also include other removable / non-removable, volatile / non-volatile computer system storage media. For example, storage system 1314 may be provided for reading from and writing to non-removable, non-volatile magnetic media (not shown, typically referred to as a "hard disk drive"). Although not shown, disk drives for reading from and writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks (e.g., CD-ROMs, DVD-ROMs, or other optical media) may also be provided. In this configuration, each driver can be connected to the bus via one or more data media interfaces. As will be further described and illustrated below, memory 1306 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments of this application.
[0059] A programmable / utility program 1316 having at least one set of program modules 1318 may be stored in memory 1306 by way of example and not limitation. Memory 1306 may also store an operating system, one or more applications, other program modules, and program data. Each of the operating system, one or more applications, other program modules, and program data, or some combination thereof, may include an implementation of a network environment. Program modules 1318 generally perform the functions and / or methods of various embodiments of the claims described herein.
[0060] As those skilled in the art will understand, various aspects of this application may be embodied as a system, method, or computer program product. Therefore, various aspects of this application may take the form of a completely hardware embodiment, a completely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which are generally referred to herein as “circuit,” “module,” or “system.” Furthermore, various aspects of this application may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code.
[0061] Computer system / server 1302 can also communicate with one or more external devices 1320, such as a keyboard, pointing device, display 1322, etc.; one or more devices that enable a user to interact with computer system / server 1302; and / or any device that enables computer system / server 1302 to communicate with one or more other computing devices (e.g., network interface card, modem, etc.). Such communication can be performed via I / O interface 1324. Furthermore, computer system / server 1302 can also communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet), via network adapter 1326. As shown, network adapter 1326 communicates with other components of computer system / server 1302 via a bus. It should be understood that, although not shown, other hardware and / or software components can also be used in conjunction with computer system / server 1302. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems.
[0062] Those skilled in the art will understand that "system" can be embodied in a personal computer, server, console, personal digital assistant (PDA), mobile phone, tablet computing device, smartphone, or any other suitable computing device, or a combination of devices. Describing the above functions as being performed by a "system" is not intended to limit the scope of this application in any way, but rather to provide one example among many embodiments. In fact, the methods, systems, and apparatuses disclosed herein can be implemented in localized and distributed forms in accordance with computing technologies.
[0063] It should be noted that some system features described in this specification are presented in the form of modules to emphasize their implementation independence. For example, modules can be implemented as hardware circuits, including custom-designed very large-scale integrated circuits (VLSI) or gate arrays, off-the-shelf semiconductors (such as logic chips, transistors, or other discrete components). Modules can also be implemented in programmable hardware devices, such as field-programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, or similar devices.
[0064] Modules can also be implemented, at least partially, in software to be executed by various types of processors. For example, the identifying unit of executable code may include one or more physical or logical blocks of computer instructions that can be organized into objects, procedures, or functions. However, the executable files of identified modules are not necessarily physically together; they can consist of different instructions stored in different locations. When these instructions are logically connected, they constitute a module and achieve the module's intended purpose. Furthermore, modules can be stored on computer-readable media, such as hard disk drives, flash memory devices, random access memory (RAM), magnetic tape, or any other medium used for storing data.
[0065] In fact, an executable code module can be a single instruction or multiple instructions, and can even be distributed across multiple different code segments, different programs, and multiple storage devices. Similarly, operational data can be identified and described within the module, and can be represented in any suitable form and organized in any suitable data structure type. Operational data can be collected as a single dataset or distributed across different locations (including across different storage devices), and can exist at least partially as electronic signals within a system or network.
[0066] It is readily understood that the application components described and illustrated in the figures herein can be arranged and designed in various different configurations. Therefore, the detailed description of the embodiments is not intended to limit the scope of this disclosure, but merely represents selected embodiments of this application.
[0067] It will be readily understood by those skilled in the art that the above-described contents can be implemented with steps in a different order and / or with hardware elements in a different configuration than those disclosed. Therefore, although this application has been described with reference to these preferred embodiments, certain modifications, variations, and alternative structures will be readily understood by those skilled in the art.
[0068] While preferred embodiments of this application have been described, it should be understood that the described embodiments are merely illustrative, and the scope of this application is limited only by the appended claims taking into account the full scope of equivalents and modifications (e.g., protocols, hardware devices, software platforms, etc.).
Claims
1. A method for creating a loudspeaker polarity pattern, comprising: Identify a speaker profile in memory, wherein the speaker profile includes: a plurality of drivers, specified dimensions of the drivers, model of the drivers, location of the drivers, and orientation of the drivers within the speaker enclosure of the speaker; Define one or more filter setup arrangements to be performed during simulation, wherein the number of filter setup arrangements depends on the specified amplitude adjustment range and step size, phase adjustment range and step size, and number of drivers, and wherein each driver at each frequency band in the multiple frequency bands has an amplitude adjustment value and a phase adjustment value for each filter setup; The filter setting arrangement is iterated for each filter setting applied to the driver, and the speaker polarity pattern is calculated; The calculated loudspeaker polarity pattern is stored in the database; Select the polar pattern from the database that most closely matches the target polarity pattern; and Apply filter settings corresponding to the selected polarity pattern to generate a finite impulse response filter for each driver within the loudspeaker.
2. The method according to claim 1, comprising: Identify the target polarity pattern based on the target coverage angle; The definition depends on the polarity pattern rating criteria of the target polarity pattern; as well as The rating criteria are used to calculate a rating for each speaker polarity pattern, wherein each driver is assigned one or more unique filters.
3. The method according to claim 1, wherein, The number of filter settings arrangement N = [(M r / M s +1)×(P r / P s +1)] n , Among them, M r =Amplitude adjustment range (dB); M s =Amplitude step size (dB); P r =Phase adjustment range (degrees); P s =Phase step size (degrees); and n = number of drives.
4. The method according to claim 2, comprising: An acoustic redundancy removal technique is performed, which identifies acoustically redundant filter settings in the filter setting arrangement and removes them from the filter setting arrangement to reduce the number of filter setting arrangements that need to be performed.
5. The method according to claim 4, comprising: The filter settings and rating criteria for identifying the target polarity pattern are used to reproduce the target polarity pattern.
6. The method according to claim 2, wherein, The rating criteria include: Nominal coverage angle; The dissimilarity value relative to the target polarity pattern; Maximum lobe intensity outside the coverage angle; Total lobe intensity outside the coverage angle; Maximum lobe intensity within the coverage angle; Energy intensity within the coverage angle; and Maximum amplitude attenuation.
7. The method according to claim 1, comprising: Iterate through the database and select the polar pattern that has the closest match to the target polar pattern.
8. The method according to claim 2, comprising: The best match for the target polarity pattern is selected by a polarity pattern sorting mode, which applies one or more parameters from the rating criteria to sort the speaker polarity patterns and select the best match.
9. The method according to claim 1, wherein, The number of calculated speaker polarity patterns is equal to the number of filter arrangement patterns.
10. An apparatus for creating a loudspeaker polarity pattern, comprising: The processor is configured as follows: Identify a speaker profile in memory, wherein the speaker profile includes: a plurality of drivers, specified dimensions of the drivers, model of the drivers, location of the drivers, and orientation of the drivers within the speaker enclosure of the speaker; Define one or more filter setup arrangements to be performed during simulation, wherein the number of filter setup arrangements depends on the specified amplitude adjustment range and step size, phase adjustment range and step size, and number of drivers, and wherein each driver at each frequency band in the multiple frequency bands has an amplitude adjustment value and a phase adjustment value for each filter setup; The filter setting arrangement is iterated for each filter setting applied to the driver, and the speaker polarity pattern is calculated; The calculated loudspeaker polarity pattern is stored in the database; Select the polar pattern from the database that most closely matches the target polarity pattern; and Apply filter settings corresponding to the selected polarity pattern to generate a finite impulse response filter for each driver within the loudspeaker.
11. The apparatus according to claim 10, wherein, The processor is also configured to perform the following operations: Identify the target polarity pattern based on the target coverage angle; The definition depends on the polarity pattern rating criteria of the target polarity pattern; as well as The rating criteria are used to calculate a rating for each speaker polarity pattern, wherein each driver is assigned one or more unique filters.
12. The apparatus according to claim 10, wherein: The number of filter settings arrangement N = [(M r / M s +1)×(P r / P s +1)] n , Among them, M r =Amplitude adjustment range (dB); M s =Amplitude step size (dB); P r =Phase adjustment range (degrees); P s =Phase step size (degrees); and n = number of drives.
13. The apparatus according to claim 11, wherein, The processor is also configured to perform the following operations: An acoustic redundancy removal technique is performed, which identifies acoustically redundant filter settings in the filter setting arrangement and removes them from the filter setting arrangement to reduce the number of filter setting arrangements that need to be performed.
14. The apparatus according to claim 13, wherein, The processor is also configured to perform the following operations: The filter settings and rating criteria for identifying the target polarity pattern are used to reproduce the target polarity pattern.
15. The apparatus according to claim 11, wherein, The rating criteria include: Nominal coverage angle; The dissimilarity value relative to the target polarity pattern; Maximum lobe intensity outside the coverage angle; Total lobe intensity outside the coverage angle; Maximum lobe intensity within the coverage angle; Energy intensity within the coverage angle; and Maximum amplitude attenuation.
16. The apparatus according to claim 10, wherein, The processor is also configured to perform the following operations: Iterate through the database and select the polar pattern that has the closest match to the target polar pattern.
17. The apparatus according to claim 11, wherein, The processor is also configured to perform the following operations: The best match for the target polarity pattern is selected by a polarity pattern sorting mode, which applies one or more parameters from the rating criteria to sort the speaker polarity patterns and select the best match.
18. A non-transitory computer-readable storage medium configured to store instructions that, when executed, cause a processor to perform the following operations: The speaker profile is identified in the memory, where... The speaker profile includes: multiple drivers, specified dimensions of the drivers, model of the drivers, location of the drivers, and orientation of the drivers within the speaker enclosure; Define one or more filter setup arrangements to be performed during simulation, wherein the number of filter setup arrangements depends on the specified amplitude adjustment range and step size, phase adjustment range and step size, and number of drivers, and wherein each driver at each frequency band in the multiple frequency bands has an amplitude adjustment value and a phase adjustment value for each filter setup; The filter setting arrangement is iterated for each filter setting applied to the driver, and the speaker polarity pattern is calculated; The calculated loudspeaker polarity pattern is stored in the database; Select the polar pattern from the database that most closely matches the target polarity pattern; and Apply filter settings corresponding to the selected polarity pattern to generate a finite impulse response filter for each driver within the loudspeaker.