#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#define PI 3.14159265
void main()
{
int RIPPLE,N;
float a[40],b[40],g[40];
float B,r,CLAR=0.1;
g[0]=1;a[0]=0;b[0]=0;
//cout<<"输出归一化g(k)的值"<<'\n';
float R0,f1,C[20],L[20];
cin>>N>>RIPPLE;
R0=50;
cout<<"输出各原件值"<<'\n';
cout<<setprecision(4);
for(int n=2;n<=N;n++)
{
cout<<"n="<<n<<'\n';
B=log(1/(tanh(CLAR/17.37)));
r=fabs(sinh(B/2/n));
if(RIPPLE==0)
{
for(int i=1;i<=n;i++)
{
g[i]=2*sin((2*i-1)*PI/2/n);
cout<<g[i]<<'\t';
}
}
else
{
for(int k=1;k<=n;k++)
{
a[k]=sin((2*k-1)*PI/2/n);
b[k]=r*r+sin(k*PI/n)*sin(k*PI/n);
g[1]=2*a[1]/r;
}
cout<<g[1]<<'\t';
for(k=2;k<=n;k++)
{
g[k]=4*a[k]*a[k-1]/b[k-1]/g[k-1];
cout<<g[k]<<'\t';
}
if(n%2)
g[n+1]=1.0000;
else
g[n+1]=(1/tanh(B/4))*(1/tanh(B/4));
cout<<g[n+1]<<'\n';
}
cout<<'\n';
}
//归一化电阻g(0)=1;归一化角频率为1,即归一化频率f(0)=1/(2*PI)
cout<<"各元件的实际数值:"<<endl; cout<<"R0="<<R0<<'\t';
for(int j=1;j<=N;j++)
{
if(j%2==0)
{
L[j]=50/(2*PI)*g[j];
cout<<"L["<<j<<"]="<<L[j]<<'\t';
}
else
{
C[j]=1000/50/(2*PI)*g[j];
cout<<"C["<<j<<"]="<<C[j]<<'\t';
}
}
cout<<endl;
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Visual C++进行软件编程,选择适当的集总参数原型电路,在建立好滤波器的数学模型后,根据要求的频响衰减特性运行软件得出所需的电抗元件数目n和归一化元件值,再应用网络综合理论,决定各电抗元件的数值。
资源推荐
资源详情
资源评论
收起资源包目录
low_pass_prototype.rar (1个子文件)
low_pass_prototype.cpp 1KB
共 1 条
- 1
资源评论
刘良运
- 粉丝: 77
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功