If the machine is saturating then this is not good. It is not good to run in saturation. Perhaps you need a higher hp machine? Does the app need that high rpm?
If you know the equations for the non-linearities, you should be able to include it a simulink block. You can create a motor model using the RLC and source components with Simulink blocks.
For example (if I recalled correctly) DC brushless pm 3 phase, one phase would use the ac source series with
resistor and inductor. You'd add a current meter in series to measure current and a voltmeter across the winding (RL) to measure your voltage. There is an input drive signal to the ac (bemf) source where you add the simulink signal to drive the source. You can feed this any waveform shape that you want. You can sum the currents x voltage to get power.
To get electromagnetic torque, use the differential equations in the Simpowersystems manual. Then you can get the speed = power / torque. This speed is your electrical speed. Divide by number of poles and that is your rotor speed. You integrate this speed twice to get your angle. This angle is used to produce 3 references phased 120 degrees apart to drive each input of the emf sources in your motor phase models. If you know what the bemf waveform looks like you can produce this and feed it to the ac input of the bemf sources. There is a book by Ong called "Dynamic Simulation of Electric Machinery using Matlab Simulink," I recommend this.
On the noise reduction, are you talking harmonic distortion?
If you want little or less harmonic distortion then you'd need a drive that produces sinusoidal current. What is a universial motor anyway?