# Design of Infinite Impulse Response Filters Based on Multi-Objective Particle Swarm Optimization
## 2 Methodologies and System Description
### Particle Swarm Optimization (PSO) Algorithm  
In the particle swarm optimization algorithm, \"particles\" refer to the abstract representation of potential solutions. Each particle has its position and speed. These particles are randomly placed in the multi-dimensional search space. Each particle represents the search A point in space, which is a possible solution, and the \"speed\" of the particle determines its movement direction and distance in the search space [16, 17, 18, 19, 20].  
Particle position update is the core concept in the particle swarm optimization algorithm. Each particle swarm updates its speed and position based on its own flight experience and the experience of other particles in the group. Specifically, the particle speed update considers three factors: the current speed, the best position found by the particle so far (pbest), and the best position found by all particles in the group (gbest). This update mechanism facilitates both local search (via pbest) and global search (via gbest), thus balancing the needs of exploration and exploitation.  
To improve the efficiency of the algorithm and avoid premature convergence, subsequent research introduced the concept of inertia weight. Inertia weight controls the degree of retention of particle speed and helps particles balance between global exploration and local exploration. By adjusting the inertia weight, extensive exploration and detailed local exploration of the solution space can be promoted at different stages of the algorithm; the performance of the particle swarm optimization algorithm depends to a large extent on the selection of parameters, including the size of the particle swarm, inertial weights and learning factors that control the social behavior of particles (i.e., pbest and gbest effects). The selection of these parameters must be adjusted according to the specific problem to achieve the best performance.  
The main calculation formulas involved in the particle swarm optimization algorithm include particle speed update and position update. These formulas are the algorithm's core and are used to simulate the exploration behavior of particles in the solution space. Formulas (10)-(12) are particle speed update, position update, and dynamic adjustment of all tank types.  
\[v_{i}^{(t+1)}=\omega\cdot v_{i}^{(t)}+c_{1}\cdot r_{1}\cdot\left(pbest_{i}-x_ {i}^{(t)}\right)+C_{2}\cdot r_{2}\cdot\left(gbest-x_{i}^{(t)}\right) \tag{10}\]  
\[x_{i}^{(t+1)}=x_{i}^{(t)}+v_{i}^{(t+1)} \tag{11}\]  
\[\omega=\omega_{max}-\frac{(\omega_{max}-\omega_{min})\cdot\hat{t}}{T} \tag{12}\]  
* \(v_{i}^{(t+1)}\) is the velocity of particle \(i\) at the next time step.
* \(\omega\) is the inertia weight, which controls the degree of retention of particle speed.
* \(v_{i}^{(t)}\) is the speed of particle \(i\) at the current time step.
* \(C_{1}\) and \(C_{2}\) are learning factors, which are called personal learning factors and social learning factors, respectively. They are used to adjust the tendency of particles to move to pbest and gbest.
* \(r_{1}\) and \(r_{2}\) are random numbers in the range [0, 1], used to introduce randomness.
* \(pbest_{i}\) is the best position found so far for particle \(i\), and \(gbest\) is the best position found by all particles in the swarm.
* \(x_{i}^{(t)}\) is the position of particle \(i\) at the current time step, and \(x_{i}^{(t+i)}\) is the position of particle \(i\) at the next time step.
* \(\omega_{max}\) is the maximum value of the inertia weight, and \(\omega_{min}\) is the minimum value of the inertia weight.
* \(t\) is the current iteration number, and \(T\) is the maximum number of iterations.